2011-07-14

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 哩 !



問題還是沒解決嗎 ?? 這裡有更多的 Ubuntu 相關教學可以參考哩 ...
買本阿舍寫的電子書帶走 - Ubuntu 指令新手馬上會用到的 35 個技法


關於阿舍

好文不藏私,請多分享囉!! ^^=

沒有留言 :