ÔõÑùʹÓÃ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ʹÓÃÂÊÓÅ»¯µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡