摘要: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(網路是這麼說的)
如果要釋放記憶體的話,
可以看以下這篇文章(本人還沒實際的操作過)