PHP Fatal error: Out of memory

basyl

Проверенные
Сообщения
57
Реакции
15
Баллы
5,510
Добрый день!
Имею сервер VPS Linux CENTOS 6.5 виртуалка OpenVZ
HDD 40Гб, Озу - 1,5Гб
Стоит Xenforo 1.4.1, взятый отсюда, стиль UI.X - http://xenforo.info/resources/ui-x.926/
И вот такой набор дополнений:
upload_2014-10-10_17-6-37.jpeg
Ежедневно, по много раз в день, выскакивает одна и та же ошибка с нехваткой памяти:
PHP Fatal error: Out of memory (allocated 1048576) (tried to allocate 122880 bytes) in /home/rcforum/public_html/library/Lgpl/utf8.php on line 1216
И периодически ошибка 500 Internal Server Error.
После обновления страницы ошибка пропадает и выскакивает снова через 5-10 переходов.
Каждый раз лишь меняется недостаточный объем памяти и файл, который эту ошибку вызвал.
Лог во вложении.
Сервак жрет при закрытом форуме и запущенном Апаче и MySQL 600-700мб ОЗУ
Хостер говорит это нормально. ДДоС атаки нет.
Memory_limit в настройках PHP выставлял и 256М и даже 512М - все равно не помогает.
На форуме зарегистрировано около 400 пользователей. Из них максимум 5-10 пользователей и 10-20 гостей висят одновременно.
Причем на этом VPS серваке стояло изначально две копии этого форума, только на разных доменах, в абсолютно одинаковой конфигурации. На обоих была эта ошибка. Один из форумов перевел для эксперимента на слабенький шаред хостинг - там проблема прекратилась.
Кто-нибудь сталкивался с этим? Что можете посоветовать, чтобы локализовать и устранить проблему?
 

Вложения

  • error_log.txt
    3.3 KB · Просмотры: 6
Привет. Я знаю одно точно - Вам нужно грамотно настроить сервер. Это не проблема XenForo. :-) Но с этим Вам нужно либо обратиться к своему хостеру за качественной поддержкой, либо пойти на специализированные сайты и задать свой вопрос там. :-)

Ещё у Вас на сервере отсутствует динамическая библиотека pdo_mysql.so

Memory_limit в настройках PHP выставлял и 256М и даже 512М - все равно не помогает.
Вы после этих манипуляций перезапускали сервер полностью? :)
 
Ещё у Вас на сервере отсутствует динамическая библиотека pdo_mysql.so
Насколько я понял эту строчку, что библиотека не может быть загружена, поскольку не хватает памяти, или я не прав?)
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20100525/pdo_mysql.so' - /usr/local/lib/php/extensions/no-debug-non-zts-20100525/pdo_mysql.so: failed to map segment from shared object: Cannot allocate memory in Unknown on line 0
Вы после этих манипуляций перезапускали сервер полностью?
Ну когда как, когда перезапускал, когда нет. В данный момент стоит лимит 256М. Предлагаете выставить 512М и перезапустить полностью сервер?
Вообще один мой знакомый сказал что 512М это черезчур много для PHP
Причем форум работал на этом серваке год без проблем. Проблемы начались либо после установки какого-то плагина, либо после того, как я создал копию форума и разместил на этом же сервере на другом домене. Хотя копию форума потом убрал, но ошибки не прекратились.
 
Насколько я понял эту строчку, что библиотека не может быть загружена, поскольку не хватает памяти, или я не прав?)
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20100525/pdo_mysql.so' - /usr/local/lib/php/extensions/no-debug-non-zts-20100525/pdo_mysql.so: failed to map segment from shared object: Cannot allocate memory in Unknown on line 0
Скорее всего так оно и есть, не так выразился...

Причем форум работал на этом серваке год без проблем. Проблемы начались либо после установки какого-то плагина, либо после того, как я создал копию форума и разместил на этом же сервере на другом домене. Хотя копию форума потом убрал, но ошибки не прекратились.
Конечно, это вполне может быть вызвано каким-то отдельным плагином...

А версия PHP какая у Вас на сервере? Рекомендую использовать именно 5.4

Конечно, это вполне может быть вызвано каким-то отдельным плагином...
Только у Вас нет ошибок в логе, которые были бы вызваны конкретным сторонним плагином... Вот, что странно.

Ну что-то тут всё же именно в настройках сервера... Скорее всего устаревшая версия установленного PHP. Такой баг встречается в PHP 5.3, в 5.4 его нет...
 
PHP стоит 5.4 поставил недавно. Ошибки были как на 5.3 так и на 5.4 продолжаются)
А, еще такой нюанс, в настройках планировщика у меня обновление всех счетчиков стоит каждые 3 минуты. Это не слишком часто?)
Может это вызывает ошибку.
Поставил на 10 минут. Если не поможет, буду отключать плагины по очереди.
А их как лучше - отключать или удалять, чтоб найти проблему, если один из плагинов ее вызывает?
 
Последнее редактирование:
А, еще такой нюанс, в настройках планировщика у меня обновление всех счетчиков стоит каждые 3 минуты. Это не слишком часто?)
Зачем Вы вообще меняли эти параметры? Их не нужно трогать, они по-умолчанию оптимально настроены.

Покажите, что у Вас тут: /admin.php?tools/phpinfo ?
 
Параметры менял, т.к. изначально сделали возможность писать в ЛС и в чат после написания 3х сообщений, чтоб немного защититься от спамеров. А народ потом стал жаловаться мол почему 3 сообщения написал, а возможность писать в чат не открывается. Вот и убавил до 3х минут) А сколько вообще по умолчанию, напомните пожалуйста?
ПХПинфо во вложении
 

Вложения

  • phpinfo.zip
    15.9 KB · Просмотры: 4
ПХПинфо во вложении
Ну вот у нас значения в поле "Additional .ini files parsed" такие:
Код:
/etc/php5/apache2/conf.d/10-pdo.ini, /etc/php5/apache2/conf.d/20-curl.ini, /etc/php5/apache2/conf.d/20-gd.ini, /etc/php5/apache2/conf.d/20-imagick.ini, /etc/php5/apache2/conf.d/20-intl.ini, /etc/php5/apache2/conf.d/20-ioncube.ini, /etc/php5/apache2/conf.d/20-mcrypt.ini, /etc/php5/apache2/conf.d/20-mysql.ini, /etc/php5/apache2/conf.d/20-mysqli.ini, /etc/php5/apache2/conf.d/20-pdo_mysql.ini, /etc/php5/apache2/conf.d/20-recode.ini, /etc/php5/apache2/conf.d/20-xmlrpc.ini, /etc/php5/apache2/conf.d/20-xsl.ini, /etc/php5/apache2/conf.d/20-zendguardloader.ini

У Вас же там вообще пусто...

Параметры менял, т.к. изначально сделали возможность писать в ЛС и в чат после написания 3х сообщений, чтоб немного защититься от спамеров. А народ потом стал жаловаться мол почему 3 сообщения написал, а возможность писать в чат не открывается. Вот и убавил до 3х минут) А сколько вообще по умолчанию, напомните пожалуйста?
Там много всего, перечислять очень долго.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу