Linux
Web 伺服器記憶體不足
我有一個 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
給出每個程序使用的記憶體百分比,可能會有所幫助。