2014-02-17 97 views
0

我們正在運行我們的J2EE應用這是一個m1.large例如 其配置獲取有關Amazon EC2實例的服務器內存用法

Instance Family  
Instance Type Processor Arch  vCPU ECU Memory (GiB) Instance Storage (GB) EBS-optimized Available Network Performance 

General  purpose  m1.large 64-bit 2 4 7.5 2 x 420 Yes  Moderate 

現在,當我檢查存儲器使用量的Amazon EC2實例服務器上我的服務器我發現可用內存爲0如下圖所示

   total  used  free  shared buffers  cached 
Mem:    7   6   0   0   0   5 
-/+ buffers/cache:   1   5 
Swap:   0   0   0 

調查位服務器上我得到了下面的詳細信息後...

Process Name Number of processes Memory usage per process Total memory usage 
java   2   523.379 MB   1046.76 MB 
httpd   24   3.47965 MB   83.5117 MB 
memcached  1   13.7227 MB   13.7227 MB 
sshd   3   2.91016 MB   8.73047 MB 
rsyslogd  1   5.51953 MB   5.51953 MB 
pickup   1   3.25781 MB   3.25781 MB 
udevd   2   1.24805 MB   2.49609 MB 
master   1   2.84375 MB   2.84375 MB 
qmgr   1   2.77734 MB   2.77734 MB 
crond   1   1.30078 MB   1.30078 MB 
auditd   1   0.789062 MB   0.789062 MB 

其具有約1.5總用途GB現在我不明白的地方這5.33 GB打算使用 ,我怎麼能找到詳細資料可以幫助別人我這個

注:我們正在運行同一服務器上的兩個tomcat的爲QA和生產

Apatche

的Tomcat版本7(用於)

Memcached的:有更好的表現

在此先感謝..

回答

1

作爲free命令的輸出的詳細信息顯示以上,5 GB的數據被高速緩存。這是在RAM中緩存的硬盤的一部分。 Linux會根據應用程序的需要釋放內存。更多信息請見answer。信任Linux,他知道內存管理並釋放緩存的空間,因爲應用程序需要RAM。

+0

謝謝你提到的答案,這給我更清晰的畫面.. –

+0

這意味着我有5GB的可用內存在我的服務器上嗎?因此我不需要額外的內存...... –

+0

是的。這意味着現在你有5GB的磁盤緩存,它將在應用程序需要時立即釋放。所以你現在不需要購買額外的RAM。 – ahmad

2

通常內核保留所有的內存和根據請求和需求開始分配給應用程序。因此,所有剩餘的內存被分配緩衝器和高速緩衝存儲器,它是由內核要求權利在任何給定時間,以獲取有關內存利用率cat /proc/meminfo

+0

感謝您的回覆......您的意思是剩餘內存被內核使用嗎? –

+0

它是由內核作爲緩衝區和可回收高速緩存分配 –

+0

好所以它認爲是使用的內存,實際上不使用正確..? –