Linux Ubuntu 程式所耗掉的記憶體

摘要:Linux Ubuntu 程式所耗掉的記憶體

在linux下跑java時,可以使用top去觀察這程式所耗掉的記憶體及cpu狀況。

但執行久了,卻發現

以下是top指令後的前五行

 

top - 04:12:09 up 1 day,  2:39,  1 user,  load average: 0.64, 0.85, 0.60
Tasks:  85 total,   1 running,  84 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni, 99.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1013092k total,   406512k used,   606580k free,    20752k buffers
Swap:  1048572k total,        0k used,  1048572k free,   246688k cached
 
在Mem: 的memory used,會越來越高,卻一直下不去,
去網路找答案,
可以使用free去察記憶體使用狀況。
就會如下
             total       used       free     shared    buffers     cached
Mem:       1013092     406636     606456          0      20752     246736
-/+ buffers/cache:     139148     873944
Swap:      1048572          0    1048572
 
事實上, used 雖然為406636但cached則佔了246736
真正使用的要看
-/+ buffers/cache:     139148     873944
事實上只有使用139148記憶體
 
所以,事實上不會佔用到太多記憶體(這是我慶幸的地方,讓我找了好久都不知道為什麼)
 
因為Linux為了工作上的效能,所以才使用了cached(網路是這麼說的)
如果要釋放記憶體的話,
可以看以下這篇文章(本人還沒實際的操作過)