Jump to content


Photo

Apache: Child process exited with status 3221226324


  • Please log in to reply
2 replies to this topic

#1 zantoro

zantoro
  • New Members
  • Pip
  • Newbie
  • 2 posts

Posted 10 February 2009 - 09:40 AM

I have a WAMP server:
RAM: 2GB
VMWare: Win 2003 SP2
PHP 5.2.6
Apache 2.2.9
Heavily loaded: 8000 users per day, up to 800 concurrent connections
ThreadLimit 800
Threadsperchild 800

I'm already aware WAMP is not suitable for heavily loaded production servers (Linux would be better)

once a day (approx.) the service restarts with this error: child process exited with status 3221226324
Sometimes the service restarts with this error (less frequently): "Cannot initialize zend_mm storage"

In a previous post on this forum James told me this exit code might be due to the crash of a PHP extension.

Assuming the PHP extensions are only specified in the php.ini and that they are the ones declared after the "extension=" tag, I see these 5:

extension=php_gd2.dll
extension=php_mysql.dll
extension=php_bz2.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll

The first two are needed, the other 3 I don't know.
Is there a way to know which extensions I need?
Is there a way to know which extension is crashing?

Any feedback would be welcome,

Bye,
Roberto.


#2 printf

printf
  • Staff Alumni
  • Advanced Member
  • 889 posts

Posted 10 February 2009 - 10:36 AM

Cannot initialize zend_mm storage, (child process exited with status 3221226324), relates to PHP Zend Engine (2) core => zend_alloc.c

Basically it means that you have exhausted every available thread and PHP can not start a new one. I recommend running PHP as CGI, application/x-httpd-php "/php/php.exe", instead of using php5_module "/php/sapi/php5apache2.dll" to solve that problem. As a side note the win32 version of Apache can only handle a maximum pool of 600 threads, anything over that the threads get held in a wait proccess, no matter what ThreadLimit or Threadsperchild is set to. Yes the thread get assigned, but it not executed until the current working thread limit falls back below 600! Apache running under Win(64) or running under any version of Linux does not have those limitations.

#3 zantoro

zantoro
  • New Members
  • Pip
  • Newbie
  • 2 posts

Posted 10 February 2009 - 04:58 PM

Hello Printf,
first I would like to thank you for your precious comment, it does make sense as the crashes occur mostly during peak time.
I created a test machine (god bless vmware) and added these lines:

ScriptAlias /php/ "D:/!Websites/PHP-5/"
AddType application/x-httpd-php .php .inc
Action application/x-httpd-php "/php/php-cgi.exe"

It seems to work well, I will test it a little bit more and keep you posted on the outcome for production.

P.S.: we have already planned a migration to Linux OS

Thanks again,
Roberto.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users