LinuxÉ豸Çý¶¯¿ª·¢Ïê½â ±Ê¼Ç10 ÖжÏÓëʱÖÓ
ÖжϣºcpuÔÚÖ´ÐгÌÐòµÄ¹ý³ÌÖУ¬³öÏÖÁËijЩͻ·¢Ê¼þʱcpu±ØÐëÔÝÍ£Ö´Ðе±Ç°µÄ³ÌÐò£¬×ªÈ¥´¦ÀíÍ»·¢Ê¼þ£¬´¦ÀíÍê±ÏºócpuÓÖ·µ»ØÔ³ÌÐò±»ÖжϵÄλÖò¢¼ÌÐøÖ´ÐÐ
¸ù¾ÝÖжÏÈë¿ÚÌø×ª·½·¨µÄ²»Í¬£¬ÖжϷÖΪÏòÁ¿ÖжϺͷÇÏòÁ¿Öжϡ£
²ÉÓÃÏòÁ¿ÖжϵÄcpuͨ³£Îª²»Í¬µÄÖжϷÖÅ䲻ͬµÄÖжϺţ¬µ±¼ì²âµ½Ä³ÖжϺŵÄÖжϵ½À´ºó£¬¾Í×Ô¶¯Ìø×ªµ½Óë¸ÃÖжϺŶÔÓ¦µÄµØÖ·Ö´ÐС£²»Í¬ÖжϺŵÄÖжÏÓͲ»Í¬µÄÈë¿ÚµØÖ·¡£
·ÇÏòÁ¿ÖжϵĶà¸öÖжϹ²ÏíÒ»¸öÈë¿ÚµØÖ·£¬½øÈë¸ÃÈë¿ÚµØÖ·ºóÔÙͨ¹ýÈí¼þÅжÏÖжϱê־ʶ±ð¾ßÌåÊÇÄĸöÖжÏ
Ò²¾ÍÊÇ˵£¬ÏòÁ¿ÖжÏÓÉÓ²¼þÌṩÖжϷþÎñ³ÌÐòÈë¿ÚµØÖ·£¬·ÇÏòÁ¿ÖжÏÓÉÈí¼þÌṩÈë¿ÚµØÖ·
Linux½«Öжϴ¦Àí³ÌÐò¶¥°ë²¿ºÍµ×°ë²¿£¬¶¥°ë²¿Íê³É¾¡¿ÉÄÜÉٵıȽϽô¼±µÄ¹¦ÄÜ£¬ËüÍùÍùÖ»ÊǼòµ¥µÄ¶ÁÈ¡¼Ä´æÆ÷µÄÖжÏ״̬²¢Çå³ýÖжϱêÖ¾ºó½øÐГµÇ¼ÇÖжϓµÄ¹¤×÷¡£”µÇ¼ÇÖжϓָ½«µ×°ë²¿´¦Àí³ÌÐò¹Òµ½µ×°ë²¿Ö´ÐжÓÁÐÖÐÈ¥
µ×°ë²¿¼¸ºõ×öÁËÖжϴ¦Àí³ÌÐòËùÓеÄÊÂÇ飬¶øÇÒ¿ÉÒÔ±»ÐÔµÄÖжϴò¶Ï£¬ÕâÊǺͶ¥°ë²¿×î´óµÄ²»Í¬
LinuxʵÏֵĵװ벿µÄ»úÖÆÖ÷ÒªÓÐtasklet¡¢¹¤×÷¶ÓÁкÍÈíÖжÏ
Ó²Öжϡ¢ÈíÖжϺÍÐźŵÄÇø±ð£º
Ó²ÖжÏʱÍⲿÉ豸¶ÔcpuµÄÖжϣ¬ÈíÖжÏͨ³£ÊÇÓ²ÖжϷþÎñ³ÌÐò¶ÔÄں˵ÄÖжϣ¬¶øÐźÅÔòÊÇÓÉÄںˣ¨»òÆäËû½ø³Ì£©¶Ôij¸ö½ø³ÌµÄÖжÏ
Ïà¹ØÎĵµ£º
ʱ¼ä¼ä¸ô¶¨Ê±Æ÷
interval timer(ʱ¼ä¼ä¸ô¶¨Ê±Æ÷)ϵͳµ÷ÓÃ×Ô´Ó±»POSIX±ê×¼»¯ºó£¬Ê״γöÏÖÓÚ4.2BSD£¬Äܹ»Ìṩ±Èalarm()»¹¶àµÄ¿ØÖÆ£º
#include <sys/time.h>
int getitimer(int which, struct itimerval *value);
int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue);
interval ti ......
ÕâÁ½Ìì´î½¨ÁËÒ»×éApache·þÎñÆ÷£¬Ã¿Ì¨·þÎñÆ÷4GÄڴ棬²ÉÓõÄÊÇpreforkģʽ£¬Ò»¿ªÊ¼ÉèÖõÄÁ¬½ÓÊýÌ«ÉÙÁË£¬ÐèÒª½Ï³¤µÄʱ¼äÈ¥ÏìÓ¦Óû§µÄÇëÇ󣬺óÀ´ÐÞ¸ÄÁËÒ»ÏÂApache 2.0.59µÄÅäÖÃÎļþhttpd.conf£º
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes ......
¶ÔLinuxÄÚºËÖнø³ÌÉÏÏÂÎĺÍÖжÏÉÏÏÂÎĵÄÀí½â
2010Äê3ÔÂ3ÈÕ 10:51 ά¿â¿ª·¢Íø ×÷ ÕߣºÑî˶,»ªÇåÔ¶¼ûǶÈëʽѧԺ½²Ê¦
Äں˿ռäºÍÓû§¿Õ¼äÊDzÙ×÷ϵͳÀíÂ۵Ļù´¡Ö®Ò»£¬¼´Äں˹¦ÄÜÄ£¿éÔËÐÐÔÚÄں˿ռ䣬¶øÓ¦ÓóÌÐòÔËÐÐÔÚÓû§¿Õ¼ä¡£ÏÖ´úµÄCPU¶¼¾ßÓв»Í¬ ......
Ó¦ÓóÌÐòºÍVFSÖ®¼äµÄ½Ó¿ÚÊÇϵͳµ÷Ó㬶øVFSÓë´ÅÅÌÎļþϵͳÒÔ¼°ÆÕͨÉ豸֮¼äµÄ½Ó¿ÚÊÇfile_operations½á¹¹Ìå³ÉÔ±º¯Êý¡£ÓÉÓÚ×Ö·ûÉ豸µÄÉϲãûÓдÅÅÌÎļþϵͳ£¬ËùÒÔ×Ö·ûÉ豸µÄfile_operations³ÉÔ±º¯ÊýÖ±½ÓÓÉÉ豸Çý¶¯ÌṩÁË£¬file_operationsÕýÊÇ×Ö·ûÉ豸Çý¶¯µÄºËÐÄ£¬Èçͼ£º
¶ø¶Ô¿éÉ豸À´Ëµ£¬ext2¡¢fat¡¢jffs2µÈÎļþÏµÍ ......
Ò첽֪ͨ£ºÒ»µ©É豸¾ÍÐ÷£¬ÔòÖ÷¶¯Í¨ÖªÓ¦ÓóÌÐò£¬ÕâÑùÓ¦ÓóÌÐò¸ù±¾²»ÐèÒª²éѯÉ豸״̬£¬ÕâÒ»µã·Ç³£ÀàËÆÓÚÓ²¼þÉϵēÖжϔµÄ¸ÅÄ±È½Ï׼ȷµÄ³ÆÎ½ÊÇ“ÐźÅÇý¶¯µÄÒì²½I/O
//Æô¶¯ÐźÅÇý¶¯»úÖÆ
signal(SIGIO, input_handler);//ÈÃinput_handler()´¦ÀíSIGIOÐźÅ
fcntl(fd, F_SETOWN, getpid());//Éè ......