×ðÁú¿­Ê±

ÔõÑùʹÓÃLinux¾ÙÐÐCPUʹÓÃÂÊÓÅ»¯

ÔõÑùʹÓÃlinux¾ÙÐÐcpuʹÓÃÂÊÓÅ»¯

ÕªÒª£ºÔÚLinuxϵͳÖУ¬ÓÅ»¯CPUʹÓÃÂÊ¿ÉÒÔÌá¸ßϵͳÐÔÄܺÍ×ÊԴʹÓÃЧÂÊ¡£±¾ÎĽ«ÏÈÈÝһЩ³£¼ûµÄCPUʹÓÃÂÊÓÅ»¯¼¼ÇÉ£¬²¢¸ø³öÏìÓ¦µÄ´úÂëʾÀý¡£

Ò»¡¢Ê¹ÓÃÀú³Ìµ÷ÀíËã·¨

ÐÞˢг̵÷ÀíÕ½ÂÔ£ºLinuxϵͳĬÈÏʹÓÃÍêÈ«¹«Õýµ÷Àí£¨CFS£©Ëã·¨£¬¿ÉÒÔƾ֤ÏÖʵÐèÇóÐ޸ĵ÷ÀíÕ½ÂÔ¡£ÀýÈ磬½«Àú³Ìµ÷ÀíÕ½ÂÔÉèÖÃΪʵʱµ÷Àí£¨RT£©Ëã·¨£¬¿ÉÒÔΪҪº¦Ê¹Ãü·ÖÅɸü¶àµÄCPUʱ¼äƬ¡£

´úÂëʾÀý£º

# ÐÞˢг̵÷ÀíÕ½ÂÔΪʵʱµ÷ÀíËã·¨
chrt -r -p 99 <PID>

µÇ¼ºó¸´ÖÆ

ÓÅÏȼ¶ÉèÖ㺿ÉÒÔͨ¹ýµ÷½âÀú³ÌµÄÓÅÏȼ¶£¬À´¿ØÖÆÀú³Ì»ñÈ¡CPUʱ¼äƬµÄ˳Ðò¡£½Ï¸ßÓÅÏȼ¶µÄÀú³Ì½«»ñµÃ¸ü¶àµÄCPUʱ¼ä£¬²¢¸ü¿ìµØÖ´ÐС£

´úÂëʾÀý£º

# ÉèÖÃÀú³ÌµÄÓÅÏȼ¶Îª½Ï¸ß¼¶±ð£¨¹æÄ££º-20 ~ 19£¬-20ÌåÏÖ×î¸ßÓÅÏȼ¶£©
nice -n -10 <command>

µÇ¼ºó¸´ÖÆ

¶þ¡¢Ê¹ÓöàÏß³ÌÊÖÒÕ

²¢·¢±à³Ì£ºÊ¹ÓöàÏß³ÌÊÖÒÕ¿ÉÒÔͬʱִÐжà¸öʹÃü£¬³ä·ÖʹÓöàºËCPUµÄÐÔÄÜ¡£¿ÉÒÔʹÓöàÏ߳̿⣨Èçpthread£©¾ÙÐÐÏ̵߳Ľ¨ÉèºÍÖÎÀí¡£

´úÂëʾÀý£º

#include <stdio.h>
#include <pthread.h>

void* task(void* arg) {
  // Ï̵߳ÄÏêϸʹÃü
  printf("Hello from thread!
");
  return NULL;
}

int main() {
  pthread_t tid;
  pthread_create(&tid, NULL, task, NULL);
  printf("Hello from main thread!
");
  pthread_join(tid, NULL);  // ÆÚ´ý×ÓÏ߳̿¢ÊÂ
  return 0;
}

µÇ¼ºó¸´ÖÆ

Èý¡¢Ê¹ÓøßЧµÄËã·¨ºÍÊý¾Ý½á¹¹

¿Õ¼ä»»Ê±¼ä£ºÊ¹ÓøßЧµÄËã·¨ºÍÊý¾Ý½á¹¹¿ÉÒÔïÔÌ­CPUµÄÅÌËãʱ¼ä¡£ÀýÈ磬ʹÓùþÏ£±í¿ÉÒÔ¿ìËÙ²éÕÒÔªËØ£¬¶ø²»ÐèÒª±éÀúÕû¸öÊý¾Ý¼¯¡£

´úÂëʾÀý£º

#include <iostream>
#include <unordered_map>

int main() {
  std::unordered_map<int, std::string> map;
  map[1] = "Hello";
  map[2] = "World";
  std::cout << map[1] << " " << map[2] << std::endl;
  return 0;
}

µÇ¼ºó¸´ÖÆ

ËÄ¡¢Ê¹ÓÃϵͳ¹¤¾ß

¼à²âCPUʹÓÃÂÊ£ºÊ¹ÓÃϵͳ¹¤¾ß¿ÉÒÔ¼à²âCPUµÄʹÓÃÇéÐΣ¬×ÊÖúÓÅ»¯CPUʹÓÃÂÊ¡£³£ÓõÄϵͳ¹¤¾ß°üÀ¨top¡¢htop¡¢powertopµÈ¡£

´úÂëʾÀý£º

# ʹÓÃtopÏÂÁîÉó²éCPUʹÓÃÂÊ
top

µÇ¼ºó¸´ÖÆ

µ÷½âCPUƵÂÊ£ºÔÚ²¿·Ö¾ßÓж¯Ì¬ÆµÂʵ÷Àí¹¦Ð§µÄCPUÉÏ£¬¿ÉÒÔµ÷½âCPUµÄƵÂÊÒÔ½µµÍ¹¦ºÄºÍζÈ£¬²¢Ìá¸ßCPUµÄÐÔÄÜ¡£

´úÂëʾÀý£º

# ÉèÖÃCPUƵÂÊΪ×î¸ßÐÔÄÜģʽ
sudo cpupower frequency-set --governor performance

µÇ¼ºó¸´ÖÆ

×ܽ᣺ͨ¹ýʹÓÃÀú³Ìµ÷ÀíËã·¨¡¢¶àÏß³ÌÊÖÒÕ¡¢¸ßЧµÄËã·¨ºÍÊý¾Ý½á¹¹£¬ÒÔ¼°ÏµÍ³¹¤¾ßµÄÅäºÏ£¬¿ÉÒÔÓÐÓõØÓÅ»¯LinuxϵͳµÄCPUʹÓÃÂÊ¡£ºÏÀíµ÷ÀíʹÃü¡¢³ä·ÖʹÓöàºËCPU¡¢Ê¹ÓøßЧµÄÅÌËã·½·¨£¬¶¼Äܹ»Ìá¸ßϵͳÐÔÄܺÍ×ÊԴʹÓÃЧÂÊ¡£

²Î¿¼×ÊÁÏ£º

Linux Manual Pages

pthread Library Documentation

C++ Standard Library Documentation

ÒÔÉϾÍÊÇÔõÑùʹÓÃLinux¾ÙÐÐCPUʹÓÃÂÊÓÅ»¯µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±ÂËÓÍ»úÍø¹Ù·½Ì¬¶È£¬Çë¶ÁÕß½ö×ö²Î¿¼¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±ÊµÊ±ÐÞÕý»òɾ³ý¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
¡¾ÍøÕ¾µØͼ¡¿¡¾sitemap¡¿