ºìÁªLinuxÃÅ»§
Linux°ïÖú

Ò»¸ö½ø³ÌÄܹ»´ò¿ª×î´óÎļþ¾ä±úÊýÉèµ½¶à´ó²ÅºÏÊÊ(Linux)

·¢²¼Ê±¼ä:2008-04-04 16:42:54À´Ô´:ºìÁª×÷Õß:wlike
ÔÚLinuxÏ£¬ÎÒÃÇʹÓÃulimit -n ÃüÁî¿ÉÒÔ¿´µ½µ¥¸ö½ø³ÌÄܹ»´ò¿ªµÄ×î´óÎļþ¾ä±úÊýÁ¿(socketÁ¬½ÓÒ²ËãÔÚÀïÃæ)¡£ÏµÍ³Ä¬ÈÏÖµ1024¡£

¶ÔÓÚÒ»°ãµÄÓ¦ÓÃÀ´Ëµ(ÏóApache¡¢ÏµÍ³½ø³Ì)1024ÍêÈ«×㹻ʹÓᣵ«ÊÇÈçºÎÏósquid¡¢mysql¡¢javaµÈµ¥½ø³Ì´¦Àí´óÁ¿ÇëÇóµÄÓ¦ÓÃÀ´Ëµ¾ÍÓеã×½½ó¼ûÖâÁË¡£Èç¹ûµ¥¸ö½ø³Ì´ò¿ªµÄÎļþ¾ä±úÊýÁ¿³¬¹ýÁËϵͳ¶¨ÒåµÄÖµ£¬¾Í»áÌáµ½¡°too many files open¡±µÄ´íÎóÌáʾ¡£ÈçºÎÖªµÀµ±Ç°½ø³Ì´ò¿ªÁ˶àÉÙ¸öÎļþ¾ä±úÄØ£¿ÏÂÃæÒ»¶ÎС½Å±¾¿ÉÒÔ°ïÄã²é¿´£º

lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more

ÔÚϵͳ·ÃÎʸ߷åʱ¼äÒÔrootÓû§Ö´ÐÐÉÏÃæµÄ½Å±¾£¬¿ÉÄܳöÏֵĽá¹ûÈçÏ£º

# lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more
131 24204
57 24244
57 24231
56 24264

ÆäÖеÚÒ»ÐÐÊÇ´ò¿ªµÄÎļþ¾ä±úÊýÁ¿£¬µÚ¶þÐÐÊǽø³ÌºÅ¡£µÃµ½½ø³ÌºÅºó£¬ÎÒÃÇ¿ÉÒÔͨ¹ýpsÃüÁîµÃµ½½ø³ÌµÄÏêϸÄÚÈÝ¡£

ps -aef|grep 24204
mysql 24204 24162 99 16:15 ? 00:24:25 /usr/sbin/mysqld

Ŷ£¬Ô­À´ÊÇmysql½ø³Ì´ò¿ª×î¶àÎļþ¾ä±úÊýÁ¿¡£µ«ÊÇËûÄ¿Ç°Ö»´ò¿ªÁË131¸öÎļþ¾ä±úÊýÁ¿£¬Ô¶Ô¶µ×ÓÚϵͳĬÈÏÖµ1024¡£

µ«ÊÇÈç¹ûϵͳ²¢·¢Ìرð´ó£¬ÓÈÆäÊÇsquid·þÎñÆ÷£¬ºÜÓпÉÄܻᳬ¹ý1024¡£Õâʱºò¾Í±ØÐëÒªµ÷Õûϵͳ²ÎÊý£¬ÒÔÊÊÓ¦Ó¦Óñ仯¡£LinuxÓÐÓ²ÐÔÏÞÖƺÍÈíÐÔÏÞÖÆ¡£¿ÉÒÔͨ¹ýulimitÀ´É趨ÕâÁ½¸ö²ÎÊý¡£·½·¨ÈçÏ£¬ÒÔrootÓû§ÔËÐÐÒÔÏÂÃüÁ

ulimit -HSn 4096

ÒÔÉÏÃüÁîÖУ¬HÖ¸¶¨ÁËÓ²ÐÔ´óС£¬SÖ¸¶¨ÁËÈíÐÔ´óС£¬n±íʾÉ趨µ¥¸ö½ø³Ì×î´óµÄ´ò¿ªÎļþ¾ä±úÊýÁ¿¡£¸öÈ˾õµÃ×îºÃ²»Òª³¬¹ý4096£¬±Ï¾¹´ò¿ªµÄÎļþ¾ä±úÊýÔ½¶àÏìӦʱ¼ä¿Ï¶¨»áÔ½Âý¡£É趨¾ä±úÊýÁ¿ºó£¬ÏµÍ³ÖØÆôºó£¬ÓÖ»á»Ö¸´Ä¬ÈÏÖµ¡£Èç¹ûÏëÓÀ¾Ã±£´æÏÂÀ´£¬¿ÉÒÔÐÞ¸Ä.bash_profileÎļþ£¬¿ÉÒÔÐÞ¸Ä /etc/profile °ÑÉÏÃæÃüÁî¼Óµ½×îºó¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ