Меню Закрыть

Fatal error out of memory allocated

Содержание

PHP Fatal error: Out of memory (allocated 16252928) (tried to allocate 131072 bytes) in Unknown on line 0,

Я читаю так: Выделено памяти 16252928,
А нужно 131072
Т.е выделено больше чем нужно, тогда в чем проблема?
Всего памяти 380 мб, но эта ошибка возникает у юзеров регулярно.
Посмотрел в логах, таких ошибок там много, и всегда выделено, больше чем нужно. Или я что-то не так понял.

скрипту уже выделено 16252928
при попытке выделить еще 131072 байт возникла ошибка.

для устранения ошибки нужно увеличить memory_limit в php.ini, либо оптимизировать скрипт.

в php.ini прописано 380 мб.

Ну и что?
Мы не знаем какие у вас там скрипты.

значение memory_limit какое?

значение memory_limit какое?

memory_limit 360M 360M

(12)Cannot allocate memory: Can’t fork
(12)Cannot allocate memory: Timeout connecting daemon
Заметил в логах.
А еще в isp иногда вылазит ошибка Fatal error: Can’t fork

число allocated всегда одинаковое или меняется?

может в самом скрипте memory_limit выставляется, либо через .htaccess.
phpinfo смотрели на том сайте, где ошибка появляется?

число allocated всегда одинаковое или меняется?
нет, меняется. Второе (ну, tried to allocate) тоже меняется.
Подобную ошибку заметил еще на одном сайте, который тоже на этом сервере. Он на друпал, а этот на айпиби. Так там вообще брэд:
Out of memory (allocated 23592960) (tried to allocate 40 bytes)
40 байт не хватает)) и таких ошибок в логах там полно. Но вот на сомом сайте их не вижу 🙂

может в самом скрипте memory_limit выставляется, либо через .htaccess.
Насчет скрипта не знаю, но в хтаккесе смотрел, ничего такого нет. Точнее, там было прописано php_value memory_limit 360M т.е как и в пхп.ини

Читайте также:  Msi ms 6590 ver 2

phpinfo смотрели на том сайте, где ошибка появляется?
да, создал в корне файлик.

Tamagoch

Новичок

PHP Fatal error: Out of memory

на версиях PHP 5.2.0, 5.2.1-dev регулярно вываливается такая ошибка:

более простые скрипты все еще работают, но форумы, к примеру, нет

это происходит когда процесс httpd.exe достигает определенного размера в памяти — достаточно большого размера, около 200 Мбайт, при чем уменьшаться никак не хочет, а только увеличивается.

все это пытается работать под Apache 2.2.3 (php5apache2_2.dll) и Win XP SP2

команда php.net устойчиво ругается, что это не баг PHP, в таком случае очень хотелось бы узнать, что и где можно подкрутить, чтобы все оно наконец-то могло нормально работать и высвобождать память после завершения своей работы

сейчас пробую PHP 5.2.2-dev, но уверен, что ничего не поменялось

так же ищу альтернативные варианты решения проблемы, кроме самых радикальных — переходить на другую ОС, например, пока совсем нет времени

tony2001

TeaM PHPClub

Tamagoch

Новичок

вы скажете это разработчикам IPB например?

мои-то скрипты работают, да и форумные вряд ли съедают за раз 200М
я еще раз повторюсь — объем памяти накапливается в процессе работы
скрипты может и кушают 300-400К, они просто потом их не освобождают — вот в чем грабли
и после пары сотен запусков скрипта он больше не хочет работать.

magic

lancer

max_execution_time = 30 ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 64M ; Maximum amount of memory a script may consume (8MB)

Tamagoch

Новичок

tony2001

TeaM PHPClub

>вы скажете это разработчикам IPB например?

а что такого?
они святые, что-ли?

Читайте также:  Аналог skype для windows

>я еще раз повторюсь — объем памяти накапливается в процессе работы

works just fine here.

Tamagoch

Новичок

увеличение memory_limit не помогло — просто форум дольше продержался до появления этой ошибки

вижу два пути на ближайшее время:

1. обновить Апач до 2.2.4
2. отказаться от использование модуля и настроить PHP как CGI

что лучше?

phprus

Moderator

Tamagoch

Новичок

но PHP тут точно ни при чем

вот эта ошибка приводит к выгрузке одного из процессов httpd.exe и освобождению оперативной памяти

я все-таки склонен обращаться к разработчикам PHP, но пока еще не все попробовал, не буду.

modulator

Новичок

Re: PHP Fatal error: Out of memory

Автор оригинала: Tamagoch
на версиях PHP 5.2.0, 5.2.1-dev регулярно вываливается такая ошибка:

более простые скрипты все еще работают, но форумы, к примеру, нет

это происходит когда процесс httpd.exe достигает определенного размера в памяти — достаточно большого размера, около 200 Мбайт, при чем уменьшаться никак не хочет, а только увеличивается.

все это пытается работать под Apache 2.2.3 (php5apache2_2.dll) и Win XP SP2

команда php.net устойчиво ругается, что это не баг PHP, в таком случае очень хотелось бы узнать, что и где можно подкрутить, чтобы все оно наконец-то могло нормально работать и высвобождать память после завершения своей работы

сейчас пробую PHP 5.2.2-dev, но уверен, что ничего не поменялось

так же ищу альтернативные варианты решения проблемы, кроме самых радикальных — переходить на другую ОС, например, пока совсем нет времени

Это проблема не PHP и не Bug PHP!
Всё дело кроется в самом Apache 2.x.x, разработчики второго Апача довольно плохо заточили его по Windows. На Linux системах со вторым Апачем такого глюка не было бы.

Читайте также:  Как подключить карту мир к айфону

Чтобы у тебя хватало памяти для PHP сценариев надо из конфигурационного файла Апачи (httpd.conf) убрать (закомментировать) строки:
EnableMMAP off
EnableSendfile off
Win32DisableAcceptEx On

После этого памяти начнёт хватать, но начнутся тормоза при работе с сайтом (возможно не очень сильные). Проблема будет в том что в файле ошибок Апача (error.log ) почти ежесекундно будет появляться строка "[warn] (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed." и через сутки он у тебя будет бооольших размеров.

Это проблема модуля “mpm_winnt_module” второго Апача который некорректно работает с функцией AcceptEx() на системах Windows (ну или что вроде того).
Короче связку Apache 2.x.x + PHP 5/4 на системах Windows ты не заставишь нормально работать, особенно набольших веб-проектах.

Я прошел через такую-же проблему и нашел единственный выход, надо поставить Апаче первой версии. Я лично поставил Apache 1.3.37 и больше с этой проблемой не сталкивался…….

Всем добрый вечер, довольно глупый вопрос, но уже начинаю сходить с ума (знаю, что тема, возможно, дубликат, но решения так и не нашел). Есть VPS. Debian 9 x32, Maria DB, Nginx, php-fpm7.0

Серв абсолютно чистый, сегодня утром купил, нагрузки никакой. Залил на него новый сайт (Opencart 2.1 с шаблоном и набором модулей). Сайт только с разработки, т.е никаких "костылей" и "велосипедов" на нем нет. Модули все покупные и минимальный набор. И при запуске сего чуда вылезает ошибка

Ошибка не новая и всем известно что лечится она увеличением memory_limit. Увеличил параметр до 512М я получил такой ответ

Ну и для верности эффекта я задал memory_limit = -1 и получил то же самое

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.