Ubuntu 為什麼會用掉所有的記憶體 ?
Published by knick,
Ubuntu 為什麼會用掉所有的記憶體 ?
阿舍前陣子拿到一條 4G 的 RAM,所以,就把小黑的 4G 換成 6 G 來用,然後,就在 Ubuntu 上多弄幾個 VM 來同時跑,阿舍想說,反正記憶體夠用,一人給個 2 G 來跑二個 VM 應該是沒問題的,因此,昨天有空,就把 Ubuntu 給開起來弄一弄,之前,從來沒多加注意記憶體的變化,但是,今天用 free 指令看了之後才發現,怎麼沒一會的時間,可用記憶體就只剩 800 多K,怎麼 5G 被用掉了哩 ! 用去那裡了呢 ?? 於是,阿舍就用 top 指令來看看是誰把記憶體給吃,但是,也沒有看到什麼特別吃的兇的 Process,所以,只好去問問 G 先生了,就查到這篇和阿舍有一樣疑問的 PO 文 ,原來是,Ubuntu 會把沒在用的記憶體拿去做快取 ( Cache ),如果,你有需要用到些記憶體時,Ubuntu 就會自動從快取釋放出來給你用的哩 ! 如果要知道 Ubuntu 真正被用掉的記憶體數量的話,是要看 free 指令的第二行的 usage 那一欄才會是真的使用量,以下圖為例,第二行 ( -/+ buffer/cache ) 旁的 236020 才是真正被用掉的記憶體量,而旁邊的 789204 則是被 Ubuntu 用來當做 Cache 的量,但是,如果只看第一行而已,就會以為,怎麼沒有跑什麼軟體就吃掉了 600 多M 哩 !
http://www.arthurtoday.com/2011/07/ubuntu.html?m=1#.UoAnvJAW3v5