2010/4/15 滕路遥 <tly.phpf...@gmail.com>: > We check error log after our server crashed, and we found that php heap > memory is out of limit, > so I think imagick use emalloc to allocate php heap memory, to check the > zend_memory_usage is > not a method for imagick, other circumstances which occupy huge memory can > use this method to > ensure the system have enough free memory.
OK, one thing I didn't understand is "why should you want check de zend memory usage when there is a memory_limit parameter in PHP.ini " ? does'nt it do the same at PHP layer when allocating ? > > thanks, > looyao > > 2010/4/14 Rasmus Lerdorf <ras...@lerdorf.com> >> >> On 04/14/2010 02:01 AM, Jérôme Loyet wrote: >> > The patch seems good (I didn't test it yet) but I'm curious about the >> > way you check the memory real size: >> > >> > + if(zend_memory_usage(1 TSRMLS_CC) > >> > fpm_global_config.term_on_memory_limit){ >> > >> > I don't know much about the zend_memory_usage() function. But does it >> > return the real memory size of the process ? >> >> Right, that will only give you the memory allocated by the memory >> manager, obviously. But, pecl/imagick does seem to use emalloc to >> allocate the imagick objects. However, if the underlying magickwand >> library mallocs a bunch of temporary space on its own, this will not get >> picked up. >> >> -Rasmus > > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php