½ñÌìÒòΪҪ½âÊÍϵͳÖпÉÓÃÄÚ´æµÄ´óС£¬ÓÃgoogle¿´Á˰ëÌ죬»¹ÓÐÔÚCUÉÏÕÒÁ˹ØÌ죬¾ºÈ»Ã»Óз¢ÏÖÓбȽϺõÄÕ£¬¹À¼ÆºÜ¶àÈ˶¼Ã»ÓÐ×¢Òâµ½£¬¶®ÁËÒÔºóÓÖûÓÐÕûÀí³öÀ´¡£
ÔÚCUÉÏ¿´Á˺ܶàÎÄÕÂ˵ʲômemory leakºÍlinuxÄÚ´æ¹ÜÀí²»ºÃ£¬ÊÂʵ¶¼ÊÇÒòΪ²»¶®linuxµÄÄÚ´æ¹ÜÀíÒýÆðµÄÎó»á¡£
ÍíÉÏÎÒ°ÑÕ⼸Ìì¿´µ½£¬¸ú×ÔÒѵÄһЩÏë·¨£¬ÊµÑé×ܽá³öÀ´£¬¹©´ó¼Ò²Î¿¼£¬Èç¹ûÓÐʲô´íÎóµÄʱºòÇëÖ±½ÓÖ¸³öÀ´£¬Í¬Ê±¸ÐлwikiÂÛ̳²»ÖªÃûµÄ×÷ÕßÒÔ¼°ËûдµÄFAQ Linux Memory Management¡£
LinuxµÄÄÚ´æ¹ÜÀí£¬Êµ¼ÊÉϸúwindowsµÄÄÚ´æ¹ÜÀíÓкÜÏàÏñµÄµØ·½£¬¶¼ÊÇÓÃÐéÄâÄÚ´æÕâ¸öµÄ¸ÅÄ˵µ½ÕâÀï²»µÃ²»ÂîMS£¬ÎªÊ²Ã´Ôںܶàʱºò»¹ÓкܴóµÄÎïÀíÄÚ´æµÄʱºò£¬È´»¹ÊÇÓõ½ÁËpagefile. ËùÒԲž³£Òª¸úÒ»°ïÈ˳³×Å˵PagefileµÄ´óС£¬ÒÔ¼°ÈçºÎ·ÖÅäÕâ¸öÎÊÌ⣬ÔÚLinux´ó¼Ò¾Í²»ÓÃÔÙ³³Ê²Ã´swap´óСµÄÎÊÌ⣬ÎÒ¸öÈËÈÏΪ£¬swapÉè¸ö512MÒѾ×ã¹»ÁË£¬Èç¹ûÄãÎÊ˵512MµÄSWAP²»¹»ÓÃÔõô°ì£¿Ö»ÄÜ˵´ó¸çÄ㻹ÊǼÓÄÚ´æ°É£¬Òª²»¾Í¼ì²éÄãµÄÓ¦Óã¬ÊDz»ÊÇÕæµÄ³öÏÖÁËmemory leak.
Ò¹Ò²ÉîÁË£¬¾Í²»ÔÙ˵·Ï»°ÁË¡£
ÔÚLinuxϲ鿴ÄÚ´æÎÒÃÇÒ»°ãÓÃcommand free
[root@nonamelinux ~]# free
total used free shared buffers cached
Mem: 386024 377116 8908 0 21280 155468
-/+ buffers/cache: 200368 185656
Swap: 393552 0 393552
ÏÂÃæÊǶÔÕâЩÊýÖµµÄ½âÊÍ£º
µÚ¶þÐÐ(mem)£º
total:×ܼÆÎïÀíÄÚ´æµÄ´óС¡£
used:ÒÑʹÓöà´ó¡£
free:¿ÉÓÃÓжàÉÙ¡£
Shared:¶à¸ö½ø³Ì¹²ÏíµÄÄÚ´æ×ܶ
Buffers/cached:´ÅÅÌ»º´æµÄ´óС¡£
µÚÈýÐÐ(-/+ buffers/cached):
used:ÒÑʹÓöà´ó¡£
free:¿ÉÓÃÓжàÉÙ¡£
µÚËÄÐоͲ»¶à½âÊÍÁË¡£
Çø±ð£º
µÚ¶þÐÐ(mem)µÄused/freeÓëµÚÈýÐÐ(-/+ buffers/cache) used/freeµÄÇø±ð¡£
ÕâÁ½¸öµÄÇø±ðÔÚÓÚʹÓõĽǶÈÀ´¿´£¬µÚÒ»ÐÐÊÇ´ÓOSµÄ½Ç¶ÈÀ´¿´£¬ÒòΪ¶ÔÓÚOS£¬buffers/cached ¶¼ÊÇÊôÓÚ±»Ê¹Óã¬ËùÒÔËûµÄ¿ÉÓÃÄÚ´æÊÇ8908KB,ÒÑÓÃÄÚ´æÊÇ377116KB,ÆäÖаüÀ¨£¬Äںˣ¨OS£©Ê¹ÓÃ+Application(X, oracle,etc)ʹÓõÄ+buffers+cached.
µÚÈýÐÐËùÖ¸µÄÊÇ´ÓÓ¦ÓóÌÐò½Ç¶ÈÀ´¿´£¬¶ÔÓÚÓ¦ÓóÌÐòÀ´Ëµ£¬buffers/cached ÊǵÈÓÚ¿ÉÓõģ¬ÒòΪbuffer/cachedÊÇΪÁËÌá¸ßÎļþ¶ÁÈ¡µÄÐÔÄÜ£¬µ±Ó¦ÓóÌÐòÐèÔÚÓõ½ÄÚ´æµÄʱºò£¬buffer/cached»áºÜ¿ìµØ±»»ØÊÕ¡£
ËùÒÔ´ÓÓ¦ÓóÌÐòµÄ½Ç¶ÈÀ´Ëµ£¬¿ÉÓÃÄÚ´æ=ϵͳfree memory+buffers+cached.
ÈçÉÏÀý£º
185656=8908+21280+155468
½ÓÏÂÀ´½âÊÍʲôʱºòÄÚ´æ»á±»½»»»£¬ÒÔ¼°°´Ê²Ã´·½½»»»¡£
µ±¿ÉÓÃÄÚ´æÉÙÓڶֵµÄʱºò£¬¾Í»á¿ª»á½øÐн»»».
ÈçºÎ¿´¶î¶¨Öµ£¨RHEL4.0£©£º
#cat /proc/meminfo
½»»»½«Í¨¹ýÈý¸ö;¾¶À´¼õÉÙϵͳÖÐʹÓõÄÎïÀíÒ³ÃæµÄ¸öÊý£º¡¡
1.¼õÉÙ»º³åÓëÒ³ÃæcacheµÄ´óС£¬
2.½«ÏµÍ³VÀàÐ͵ÄÄÚ´æÒ³Ãæ½»»»³öÈ¥£¬¡¡
3.»»³ö»òÕß¶ªÆúÒ³Ãæ¡£(Application Õ¼ÓõÄÄÚ´æÒ³£¬Ò²¾ÍÊÇÎïÀíÄÚ´æ²»×㣩¡£
ÊÂʵÉÏ£¬ÉÙÁ¿µØÊ¹ÓÃswapÊDz»ÊÇÓ°Ï쵽ϵͳÐÔÄܵġ£
ÏÂÃæÊÇbuffersÓëcachedµÄÇø±ð¡£
buffersÊÇÖ¸ÓÃÀ´¸ø¿éÉ豸×öµÄ»º³å´óС£¬ËûÖ»¼Ç¼ÎļþϵͳµÄmetadataÒÔ¼° tracking in-flight pages.
cachedÊÇÓÃÀ´¸øÎļþ×ö»º³å¡£
ÄǾÍÊÇ˵£ºbuffersÊÇÓÃÀ´´æ´¢£¬Ä¿Â¼ÀïÃæÓÐʲôÄÚÈÝ£¬È¨Ï޵ȵȡ£
¶øcachedÖ±½ÓÓÃÀ´¼ÇÒäÎÒÃÇ´ò¿ªµÄÎļþ£¬Èç¹ûÄãÏëÖªµÀËûÊDz»ÊÇÕæµÄÉúЧ£¬Äã¿ÉÒÔÊÔһϣ¬ÏȺóÖ´ÐÐÁ½´ÎÃüÁî#man X ,Äã¾Í¿ÉÒÔÃ÷ÏԵĸоõµ½µÚ¶þ´ÎµÄ¿ª´òµÄËÙ¶È¿ìºÜ¶à¡£
ʵÑ飺ÔÚһ̨ûÓÐʲôӦÓõĻúÆ÷ÉÏ×ö»á¿´µÃ±È½ÏÃ÷ÏÔ¡£¼ÇµÃʵÑéÖ»ÄÜ×öÒ»´Î£¬Èç¹ûÏë¶à×öÇë»»Ò»¸öÎļþÃû¡£
#free
#man X
#free
#man X
#free
Äã¿ÉÒÔÏȺó±È½ÏÒ»ÏÂfreeºóÏÔʾbuffersµÄ´óС¡£
ÁíÒ»¸öʵÑ飺
#free
#ls /dev
#free
Äã±È½ÏÒ»ÏÂÁ½¸öµÄ´óС£¬µ±È»Õâ¸öbuffersËæÊ±¶¼ÔÚÔö¼Ó£¬µ«ÄãÓÐls¹ýµÄ»°£¬Ôö¼ÓµÄËÙ¶È»á±äµÃ¿ì£¬Õâ¸ö¾ÍÊÇbuffers/chachedµÄÇø±ð¡£