मुझे PHP सीएलआई पर इमेगिक के साथ कुछ प्रस्तुत करना होगा। मैंने देखा है कि प्रत्येक 3-5 दिन सर्वर मेमोरी भर जाती है, इसलिए मैं ssh या ftp के माध्यम से भी connet नहीं कर सकता।PHP इमेजिक मेमोरी लीक
memory_get_usage() के साथ मैंने स्क्रिप्ट के कल्पना भाग में स्मृति रिसाव को कम किया। स्क्रिप्ट इस तरह दिखता है:
$sourceImg = 'source.png';
$destImg = 'dest.png';
$background ='#00ff00';
$im = new Imagick();
$im->pingImage($sourceImg);
$im->readImage($sourceImg);
$draw = new ImagickDraw();
for($i=1;$i<=5;$i++){
$draw->setFillColor($background);
$draw->rectangle(10*$i+5, 10, 10*$i+10, 20);
}
$im->drawImage($draw);
$im->writeImage($destImg);
$im->destroy();
unset($im,$draw);
मैं छवि संदर्भ, और सेट नहीं Imagick और imagickDraw वस्तु को नष्ट, लेकिन स्क्रिप्ट किसी भी स्मृति जारी नहीं करेगा। setFillColor() विधि सबसे अधिक स्मृति लेता है
क्या मैं छवि द्वारा उपयोग की गई जगह को खाली करने के लिए कुछ और कर सकता हूं?
image of the memory consumption
मैंने पहले से ही इस समस्या को छोड़ दिया है। लेकिन यह समाधान बहुत अच्छा काम करता है। धन्यवाद – Slemgrim
कोई भी जावा में कुछ भी जानता है? – krakover
तो यह डिस्क को रैम के बजाय भर देगा? यह कैश क्या है? –