Перейти к содержимому
Русский язык для Invision Community 5

PHP Fatal error: Out of memory

Здравствуйте.

По несколько раз в день возникает подобная ошибка (из логов сервера):

[Tue Feb 07 19:43:19 2012] [error] [client 00.00.000.000] PHP Fatal error: Out of memory (allocated 17563648) (tried to allocate 342023 bytes) in /var/www/dfdkj/data/www/форум.net/админ/sources/classes/output/formats/html/htmlOutput.php on line 645

Форум стоит на vps, памяти выделено 380 мб. Т.е, вроде вполне достаточно для нормальной работы. Во всяком случае, на примере конкретно этой ошибки, (allocated 17563648) - меньше имеющихся 380 мб.

С айпиби слабо знаком, этот форум у меня сравнительно недавно. До этого, он был на обычном хостинге, и там эта ошибка не возникала.

В купе (обычно до) с этой ошибкой, иногда выдает ошибку 500, белую страницу, или обычную ошибку браузера, что сайт недоступен. (В зависимости от того, включено отображение ошибок в хтаккесе или нет).

Помогите понять в чем тут дело, плиз.

Рекомендованные сообщения

php.ini:

 

memory_limit = ?!

 

В студию!

 

и еще бы узнать настройки чего у вас там стоит apache или ngnix, скорее всего дело в них

  • Автор

memory_limit = 380M

 

Сервер apache, настройки... это то, что должно быть в httpd.conf ? у меня там пусто...

Чей VPS стоит?! Есть лог апача и какая версия стоит?! в корне лежит .htacces?

Изменено пользователем NooBAsTiK

memory_limit = 380M

Кто такой кошмар поставил?

 

памяти выделено 380 мб. Т.е, вроде вполне достаточно для нормальной работы.

Смотря какая посещаемость. И что за софт стоит, а то может не хватить.

 

В студию!

Не стоит. Сервер надо настраивать и не удаленно

Сервер надо настраивать и не удаленно

Это я про memory. Тут дело скорее всего в апаче.

Тут дело скорее всего в апаче.

Не знаю...

На VDS всего 300 с лишним. Это несчастные 3 сотни занимает тот же апач, сервер баз данных, явно без панели не обошлось дело и еще десяток программ.

 

Сколько осталось для скрипта php?

 

Сколько версий apache болтается в памяти?

 

 

Вообще вопрос к администрированию IP.Board не каким боком...

allocated 17563648b = 17152kb = 16.75Mb

Какие memory_limit = 380M Мб при 320Мб RAM в системе? У вас скрипт даже минимальные необходимые для работы 32Мб памяти получить не может. Естественно, на парсинге BBCode все срывается - это второй по ресурсоемкости после ресайза процесс в IPB.

 

Каждый одновременный пользователь - это отдельный процесс Apache, если у вас 5 человек посетителей на сайте и стоит memory_limit для PHP в 32 Мб (а у вас так в 10 раз больше!) + каждый процесс кушает ~30 минимальных мегабайт, получается, что один Apache съест 310Мб, чего никак быть не может, с учетом остальных процессов. Значит, идет постоянная возня со свопом. И каждый раз, когда на форум заходит больше 10-20 человек + поисковые боты - сервер выедает всю память и попытки посетителей что-то запостить заканчиваются белой страницей и названной вами ошибкой.

 

IPB на дефолтном апаче без тонкой настройки никак не влезает в такую виртуалку. Впихнуть с танцами и бубном в прицнипе можно, но впритык. Как только посещаемость подрастет хотя бы до 50-100 онлайн - сервер с IPB при таком скудном конфиге тупо умрет, как его не тюнингуй.

  • Автор

ясно...

Спасибо за пояснения.

Наверное 1гб оперативной памяти должно хватить?

Наверное 1гб оперативной памяти должно хватить?

Зависит от посещаемости и настроек сервера. Но уже нормально.

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.