Доброго времени суток. Проблема над которой бьюсь уже 2 недели. Есть зацикленный php скрипт который выполняет некоторые действия, за сутки сей скрипт съедает 2ГБ ОЗУ и Apache перезапускает процесс с логом в error.log "Parent: child process exited with status 3221225477 -- Restarting." Собственно сам вопрос почему 2ГБ? Win2003(x64) , ОЗУ 4ГБ # Apache 2.0.63 # PHP 5.2.6 # MySQL 5.0.51b
Windows XP Home Edition, система 32-х битная, работает на 4096 Мб оперативной памяти. Что, в общем-то, следует из рассчетов выше.
Эта винда будет работать и на 8 гб памяти, но адресовать сможет только ~ 3.2 гб. Приложениям вся остальная память будет недоступна. Это ограничение самой винды. Для обхода этого ограничения было придумано Physical Address Extension (PAE). Но это старая история. Ошибка, возникшая у топикстартера, наверняка связана с какой-то внутренней ошибкой программы, задействованной в процессе работы его скрипта. Может апач глюканул, может ещё чего, да что угодно. Тут на 100% нельзя сказать.
32хбитная винда может адресовать 4гб минус размер видеопамяти, ибо ей тоже(!сюрприз!) нужно пространство адресов памяти. И PAE кстати эту проблему почти не решает, (кстати и 64 битная винда не особо решает, ибо 32х битные приложения просто не умеют просить адреса выше 4гб, а таких приложений все еще большинство), потому что поддержку PAE должно реализовавать приложение, а если этим озабачиваются авторы этого ПО, они просто делают 64битную версию, и не ебут себе мозг ))
3221225477 - это не обьём съеденной ОЗУ этот код ошибки Апача Вопрос не в том что скрипт кривой, а в том что Винда,apache,mysql - X64 ОЗУ 4ГБ, а больше чем 2-2.5ГБ апач занять не может