2012-09-06 33 views
0

我正在使用PHP-FPM通過fastcgi向nginx提供動態內容。除了PHP-FPM proc正在使用這麼多的內存以外,一切正常。根據新的遺蹟進程監視器PHP-FPM有6個進程正在運行,並且他們使用的是220+ MB。對我來說不正常?可能是什麼問題呢?使用大量內存的PHP-FPM

回答

1

幾件事情要檢查是/提示在開發環境中進行調試:

  • 難道你的PHP memory_limit的設置爲35M,看看PHP錯誤了呢?
  • 是否有任何大型數據庫查詢正在運行?
  • 您是否在使用PHP的APC,您的共享內存大小(shm)是什麼?
  • 如果您熟悉xDebug(http://xdebug.org/)。您可以使用xDebug分析器(http://xdebug.org/docs/profiler)查看正在使用的內存。這是你最好的選擇IMO。
  • PHP-FPM允許您設置一個最大請求參數(pm.max_requests),它將在一定數量的請求後重新啓動子進程。注意將其設置爲低可能會導致性能下降,並且在負載下會出現奇怪的行爲。

說實話,每個進程37M是高的,但是我已經看到像Magento這樣的應用程序已經接近,所以可能沒有問題。希望有所幫助。