Nginx

Apache2 使用大量記憶體

  • June 21, 2017

在具有 30GB 記憶體的伺服器上服務於大容量的流量。

出於某種原因,最近 Apache2 已經開始使用瘋狂的記憶體使用執行執行緒。每個執行緒 500MB-750MB 現在並不少見。

php.ini 有memory_limit = 128M(php7.0 預設)。

Apache prefork 配置是預設的。

結果是我們執行時只有約 1GB 的可用記憶體。

我錯過了什麼?

我們有 Nginx 代理請求,它的程序更像是每個執行緒約 60MB。這是執行的截圖top

頂部截圖

任何有關可能導致這種情況的見解都將受到讚賞!

從上面的輸出看來,Apache 程序在記憶體中有 20-50MB 的“res”(駐留)。“virt”不是您需要擔心的記憶體,通常它可以映射文件,而不是實際使用的 RAM。

我可以看到你有 28GB 的​​記憶體“記憶體”。這通常是記憶體文件。這是一件好事,它使作業系統不必去磁碟訪問文件。

我認為您可能會從“ Linux Ate My RAM ”網站中受益。

這究竟是什麼造成的問題?您的系統是否每次都報告“記憶體不足”,或者程序因 RAM 不足而失敗?

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