簡體   English   中英

PHP可能的內存泄漏

[英]PHP Possible Memory Leak

我有一個遍歷數據庫的腳本,用於圖像與gd和imagick的轉換。

我取消設置或替換每個循環之間的所有變量和對象。

對於每個循環,get_memory_usage(1)都會顯示該腳本使用的並發內存量。 這是預期的。

但是,當我運行“ top”時,%MEM列報告此腳本(相同的PID)對於每個循環以幾個百分比遞增。

處理完所有圖像以及運行get_defined_vars()時,我會銷毀所有圖像。 僅設置了標准全局變量和一些我擁有的變量。

為什么“ top”%內存使用率與PHP報告的不同?

經過10次循環后,PHP占用了系統內存的20%。

我在Debian 5上運行php 5.2.6

您是否將第一個參數傳遞給memory_get_usage() 如果沒有,您應該先嘗試一下。 有關更多信息,我們將需要您的源代碼。

我必須自己回答這個問題。

升級到PHP 5.3.2消除了垃圾以如此大的比率堆積的問題。

因為存在一些無法識別的泄漏,並且無論我做什么都需要根據GD映像資源的填充進行重置,所以我決定讓perl腳本運行while循環,並執行PHP腳本

system("php /opt/cron/tasks.php");

這樣,PHP總是清空緩沖區/內存。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM