2013-08-06 50 views
0

我一直在網上衝浪大約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和問題仍然存在

回答

0

正如我所說,我重新安裝了CentOS x64,內存使用問題依然存在,所以我對自己的具體情況和我自己的經驗有一個理論。
如果您不完全確定您的程序/應用程序是爲64位設計的,那麼您最好安裝32位CentOS,即使是AMD X64。
我的情況下:

  • 的AMD Athlon X4 640處理器(64位)
  • 的VMware 7
  • 1處理器/ 4個內核,1.5GB RAM
  • 的CentOS 6.4 32位
  • apache的(httpd)
  • Php 5.3.3
  • PostgreSQL中,(服務器,客戶端的contrib,那麼libpq)
  • 的pgAdmin III
  • 火狐17 ESR(默認CentOS的瀏覽器)與螢火蟲和colorzilla擴展
  • 歌劇(最新發布)
  • JRE 7.25(僅適用於NetBeans的工作 - 從Oracle下載不OpenJDK的)
  • Netbeans的7.3.1(PHP - HTML5)

現在我已經打開的pgAdmin ,netbeans(帶有10個活動標籤)和firefox和免費內存是(150 + MB免費+ 20 + MB緩存+ 200 + MB緩存),如果我需要更多的內存,當我打開歌劇或任何其他程序的一些緩存被釋放,因爲它應該完成。 哦,並且SWAP的使用是0.00000000,如你所知它可以真正有幫助,但是如果你正在使用一個加載在swap中的程序(全部或部分),它至少比加載到RAM中的程序慢10倍。

0

如果您使用「HTOP」你會看到內存條有3種顏色看看你的記憶。我猜想你的情況下所用的大部分內存都是黃色的。

基本上你的內存正在被各種操作系統緩存使用。這些緩存會隨着您的系統需求而被移出內存。系統持有RAM副本,以便在數據仍在內存高速緩存中時,如果再次執行相同的命令/程序,centos可以更快地執行。這就解釋了爲什麼你只是應用程序關閉後使用的內存的一部分。

這從來都不是我減速的原因。

我在使用過程中遇到過使用Firefox的內存使用情況。

也許這是一個虛擬化平臺問題。你的主機操作系統是什麼以及你使用的虛擬化平臺是什麼?