ÔõÑùÓÅ»¯ºÍµ÷½âLinuxϵͳµÄCPU¸ºÔØÒÔÌá¸ßÐÔÄÜ
ÓÉÓÚlinuxϵͳµÄ¿ª·ÅÐÔºÍÎÞаÐÔ£¬Ëü±»ÆÕ±éÓ¦ÓÃÓÚÖÖÖÖÁìÓò£¬°üÀ¨Ð§ÀÍÆ÷¡¢Ð¡ÎÒ˽È˵çÄÔºÍǶÈëʽװ±¸µÈ¡£È»¶ø£¬Ëæ×ÅϵͳµÄʹÓú͸ºÔØÔöÌí£¬cpuµÄ¸ºÔØÒ²»áÖð½¥ÔöÌí£¬¿ÉÄܵ¼ÖÂÐÔÄÜϽµ¡£Òò´Ë£¬ÓÅ»¯ºÍµ÷½âlinuxϵͳµÄcpu¸ºÔØÊǺÜÊÇÖ÷ÒªµÄ¡£±¾ÎĽ«ÏÈÈÝһЩÓÅ»¯ºÍµ÷½âlinuxϵͳµÄÒªÁìÀ´Ìá¸ßÐÔÄÜ¡£
µÚÒ»²½ÊÇÃ÷È·¸÷¸öÀú³ÌµÄCPU¸ºÔØ¡£¿ÉÒÔʹÓÃÏÂÁîÈçtop¡¢htop¡¢sarµÈÀ´¼àÊÓϵͳµÄCPUʹÓÃÇéÐΡ£Í¨¹ýÊÓ²ì¸÷¸öÀú³ÌµÄCPUʹÓÃÂÊ£¬¿ÉÒÔÈ·¶¨ÄÄЩÀú³ÌÕ¼ÓÃÁ˹ý¶àµÄCPU×ÊÔ´¡£Ò»µ©ÕÒµ½ÁËÎÊÌâÀú³Ì£¬¿ÉÒÔƾ֤ÇéÐνÓÄÉÏìÓ¦µÄ²½·¥£¬ÀýÈçÓÅ»¯Ó¦ÓóÌÐòµÄ´úÂë¡¢ÔöÌíÓ²¼þ×ÊÔ´¡¢µ÷½âÀú³ÌµÄÓÅÏȼ¶µÈ¡£
µÚ¶þ²½Êǵ÷½âCPUµ÷ÀíÕ½ÂÔ¡£Linuxϵͳ½ÓÄÉÁ˶àÖÖCPUµ÷ÀíÕ½ÂÔ£¬ÈçCFS£¨Completely Fair Scheduler£©ºÍO(1)µ÷ÀíÆ÷¡£Ä¬ÈÏÇéÐÎÏ£¬´ó´ó¶¼Linux¿¯Ðа涼ʹÓÃCFS×÷ΪĬÈϵĵ÷ÀíÕ½ÂÔ¡£È»¶ø£¬¹ØÓÚijЩÌض¨µÄÓ¦Óó¡¾°£¬Èçʵʱ»ò¸ßÐÔÄÜÅÌË㣬¿ÉÄÜÐèҪʹÓøü¸ßЧµÄµ÷ÀíÕ½ÂÔ¡£¿ÉÒÔͨ¹ýÐÞ¸Ä/proc/sys/kernel/schedulerÎļþÀÍÆÈ´»µ÷ÀíÕ½ÂÔ¡£Í¬Ê±£¬»¹¿ÉÒÔµ÷½âCFSµÄ²ÎÊý£¬Èçtimeslice¾ÞϸºÍniceÖµµÈ¡£
µÚÈý²½ÊÇʹÓÃCPUÇ׺ÍÁ¦À´ÓÅ»¯Àú³ÌÓëCPUÖ®¼äµÄ¹Øϵ¡£ÔÚ¶àºËϵͳÖУ¬CPUÇ׺ÍÁ¦¿ÉÒÔ½«Àú³ÌÀο¿ÔÚÌض¨µÄCPU½¹µãÉÏÔËÐУ¬×èֹƵÈԵĽ¹µãÇл»´øÀ´µÄÐÔÄÜËðʧ¡£¿ÉÒÔʹÓÃtasksetÏÂÁî»òsched_setaffinityϵͳŲÓÃÀ´ÉèÖÃÀú³ÌµÄCPUÇ׺ÍÁ¦¡£Í¨¹ýºÏÀíÉèÖÃCPUÇ׺ÍÁ¦£¬¿ÉÒÔʵÏÖÀú³ÌÓëCPUÖ®¼äµÄ×î¼ÑÆ¥Å䣬Ìá¸ßÐÔÄÜ¡£
µÚËIJ½ÊÇʹÓýÚÄÜÕ½ÂÔÀ´½µµÍCPU¸ºÔØ¡£LinuxϵͳÌṩÁ˶à¸ö½ÚÄÜÕ½ÂÔ£¬ÈçCPUƵÂʵ÷½â¡¢ÐÝÃß״̬¡¢¹¦ºÄÖÎÀíµÈ¡£¿ÉÒÔʹÓÃÏÂÁîÈçcpupower¡¢powertop¡¢acpidµÈÀ´ÖÎÀíºÍÓÅ»¯ÏµÍ³µÄ½ÚÄÜÕ½ÂÔ¡£Í¨¹ý½µµÍCPUµÄÊÂÇéƵÂʺ͵÷½âµçÔ´ÖÎÀíÕ½ÂÔ£¬¿ÉÒÔÓÐÓõØïÔÌCPUµÄ¸ºÔØ£¬ÑÓÉìµç³ØÊÙÃü²¢Ìá¸ßϵͳµÄÐÔÄÜ¡£
µÚÎå²½ÊÇʹÓÃʹÃüµ÷ÀíÆ÷À´ÓÅ»¯CPU¸ºÔØ¡£LinuxϵͳÌṩÁ˶à¸öʹÃüµ÷ÀíÆ÷£¬Èçcron¡¢atºÍanacronµÈ¡£¿ÉÒÔʹÓÃÕâЩµ÷ÀíÆ÷À´°²ÅÅʹÃüÔÚϵͳÏÐʱÔËÐУ¬×èÖ¹Ôڸ߸ºÔØʱ´úÖ´ÐÐÅÌËã÷缯ÐÍʹÃü¡£Í¨¹ýºÏÀí°²ÅÅʹÃüµÄÖ´ÐÐʱ¼ä£¬¿ÉÒÔïÔÌϵͳµÄCPU¸ºÔØ£¬Ìá¸ßÐÔÄÜ¡£
×ÛÉÏËùÊö£¬ÓÅ»¯ºÍµ÷½âLinuxϵͳµÄCPU¸ºÔØÊÇÌá¸ßÐÔÄܵÄÖ÷ÒªÒ»»·¡£Í¨¹ýÃ÷È·¸÷¸öÀú³ÌµÄCPU¸ºÔØ¡¢µ÷½âCPUµ÷ÀíÕ½ÂÔ¡¢Ê¹ÓÃCPUÇ׺ÍÁ¦¡¢Ê¹ÓýÚÄÜÕ½ÂÔºÍʹÃüµ÷ÀíÆ÷£¬¿ÉÒÔ×îºéÁ÷ƽµØÌá¸ßϵͳµÄÐÔÄÜ¡£Í¬Ê±£¬»¹¿ÉÒÔͨ¹ý¼à¿ØºÍµ÷½âϵͳµÄÓ²¼þ×ÊÔ´£¬ÈçÄÚ´æ¡¢Ó²ÅÌ¡¢ÍøÂçµÈÀ´½øÒ»²½ÓÅ»¯ÏµÍ³µÄÐÔÄÜ¡£Ö»ÓÐ×ÛºÏÓ¦ÓÃÕâЩÓÅ»¯ÒªÁ죬²Å»ªÊ¹Linuxϵͳ¼á³Ö¸ßÐÔÄÜÔËÐв¢¸üºÃµØÖª×ãÖÖÖÖÓ¦Óó¡¾°µÄÐèÇó¡£
ÒÔÉϾÍÊÇÔõÑùÓÅ»¯ºÍµ÷½âLinuxϵͳµÄCPU¸ºÔØÒÔÌá¸ßÐÔÄܵÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡