我有一個運行在apache/mod_php中的請求處理程序,它偶爾會擴展超出最大允許的內存使用量(即php.ini中的memory_limit定義)。在mod_php中調試內存使用
處理此請求調用proc_open()來運行外部命令。這些命令的內存使用情況是否與請求內存使用情況「相反」?
除此之外,分析和修復在mod_php下運行的腳本的內存使用情況的首選方法是什麼?我發現的所有有關php內存使用情況的信息似乎如下:
- 「編輯php.ini並提高內存限制!
- 「編輯您的apache配置並將每個孩子的最大請求數設置爲較低的數字!」
很明顯,這些對性能和穩定性都有負面影響。我怎樣才能真正分析和解決問題,而不是創可貼呢?
Apache日誌錯誤爲:
PHP Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes) in foo.php on line Z