Linux

Web 伺服器記憶體不足

  • March 28, 2011

我有一個 EC2 小型實例,它有 2 個記憶體,執行 Fedora Linux。

通常情況下,我平均每天獲得大約 275 次頁面瀏覽量,並且我在盒子上安裝了一個監控代理。就可用記憶體而言,一些統計數據並不令人擔憂。

上週,在最低點,我們只有 30 mb 的可用記憶體,今天早上它似乎增加到大約 150 mb。Hyperic 是我們執行 Java 的監控代理。頂部顯示其記憶體使用率僅為 3.4% 左右。

當我將所有 httpd 程序加起來時,我得到大約 15-20% 的記憶體使用率,而 mysql 使用大約 1%。

Top 沒有透露其餘記憶體的去向。我該怎麼做才能找出導致高記憶體消耗的原因?會不會是一天275次點擊?我們大約 95% 的程式碼是 PHP 和 HTML。僅在內部使用的名為 OpenVBX 的應用程序正在輕微使用 MySQL。

如果是apache,記憶體升級應該可以解決我們的問題吧?

任何建議都會有很大幫助,謝謝!

更新:免費顯示:

            total       used       free     shared    buffers     cached
Mem:       1718724    1575024     143700          0     234328     969284
-/+ buffers/cache:     371412    1347312
Swap:       917500       1140     916360

基本上你想看看緩衝區/記憶體行的空閒列,所以你有大約1.3G空閒——你可能狀態很好。

這個著名的頁面“幫助!Linux 吃了我的 Ram!” 在http://www.linuxatemyram.com/

簡單地說,Linux 將使用 ram 來記憶體文件和排序,以便更快地傳遞它們。如果一個程序真的需要記憶體,那麼它會從記憶體中取出它——但是為什麼不盡可能地使用記憶體呢?

ps aux|less給出每個程序使用的記憶體百分比,可能會有所幫助。

引用自:https://serverfault.com/questions/252800