我一直在網上衝浪大約1周,我發現的一切是:「CentOS知道如何使用內存,不用擔心」,但我真的覺得這個是一個問題。
我有一臺最近安裝了CentOS 6.4 X86_64的虛擬機,最後安裝了1.5GB RAM,1個處理器/ 4個內核和700MB SWAP,問題在於內存消耗。
我安裝了postgresql,pgadmin3,JRE 7.25(不是JDK和OpenJDK),netbeans 7.3.1和apache,但大部分時間(99%)我只需要NB和firefox同時打開,顯然httpd和pgsql服務。
那麼,當我打開netbeans它使用300Mb - 350MB,並且Firefox 100MB - 150MB和系統使用的初始內存大約250MB,所以有750MB和系統監視器和免費-m命令確認,但在幾分鐘內系統吃掉我所有的空閒內存,並開始使用100MB-200MB SWAP並且它變得真的SssLOOOWWW ..我正在開發一個簡單的PHP/JS/HTML網站。
當系統吃掉我所有的內存和交換中,免費-m命令將返回此:CentOS 6.4 X86_64使用太多內存和SWAP
free -m
total used free shared buffers cached
Mem: 1511532 1477256 34276 0 18652 89325
-/+ b../c..: 1369279 142253
Swap: 711320 198652 512668
我知道實際的可用內存約爲140MB,但:
- 這是一個很多內存使用和系統變得非常緩慢
- 如果我關閉NB和FF我只能得到一半的內存使用釋放(250MB)
- SWA P永遠不會被釋放(只在重啓時)
- 如果我再次打開FF和NB,它會再次消耗250MB,甚至更多 SWAP !!!
I`ve嘗試這樣做:
- 我改變了Swappiness值從60〜5和實際系統 不`噸使用交換,直到它得到所使用的RAM的95%。
- 我在啓動時禁用了不必要的程序,如藍牙管理器,郵件,登錄聲音,能源管理器(它是臺式電腦)。
- 我設置JVM最大堆尺寸爲256MB和實際中的java/netbeans的之間(虛擬+共享)=用於實際存儲器是從未> 400MB
- 如果我由服務檢查服務(包括多個httpd和PGSQL子服務)使用的內存不超過750MB
- 我不得不說,當我測試Win 7/WAMP中完全相同的網站時,Netbeans,PGAdmin3,Firefox和posgres服務使用的內存幾乎與centOS( 500MB)以及系統使用的初始內存(900MB),所使用的內存總量爲1400MB,並且不會改變,因此不是編程錯誤。
- 最後,我重新安裝的CentOS和問題仍然存在