Re: One suggestion to PHP-FPM
| From: | Jérôme Loyet | Date: | Thu, 15 Apr 2010 06:03:27 +0000 |
| Subject: | Re: One suggestion to PHP-FPM | ||
| References: | 1 2 3 4 5 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-47945@lists.php.net to get a copy of this message | ||
2010/4/15 滕路遥 <tly.phpfans@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 <rasmus@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
>
>