debian.org / О Debian Где взять Debian Поддержка Уголок разработчика Новости Wiki

Автор Тема: Ошибки php-fpm (SIGKILL) и (SIGABRT)  (Прочитано 1269 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн cyrax

  • Новичок форума
  • Topic Author
  • Сообщений: 5
Ошибки php-fpm (SIGKILL) и (SIGABRT)
« : 06 Ноябрь 2016, 16:08:20 »
VPS, памяти мало - 512 Мб. Файл подкачки 1025 Мб.
Оперативная память вся заполнена, файл подкачки периодически тоже полностью заполняется.

nginx + php-fpm
Запросы к php-fpm поступают примерно 1,5 штуки в секунду. Максимальное количество активных php-процессов = 10 (если pm.max_children увеличить)

Проблемы следующие:
1. Если в настройках php-fpm прописать pm.max_children = 6, то 1-2 раза в минуту в php-fpm вылезают следующие ошибки:
WARNING: [pool ...] child 29936 said into stderr: "*** Error in `php-fpm: pool ...': free(): invalid pointer: 0x00007f3fa80b63b8 ***"
WARNING: [pool ...] child 29936 exited on signal 6 (SIGABRT) after 127.304479 seconds from start

При этом в логах nginx ошибок и предупреждений нет. Т.е. nginx нормально получает ответ от php-fpm

Что это за ошибка ? Происходит только на стороне php-fpm и никак не затрагивает nginx.
Складывается такая картина: процесс php-fpm, сгенерировав html-код, нормально отдаёт его nginx'у, а затем при попытке освободить после себя память (команда free по некорректному адресу) терпит крах и падает. И всё это происходит после нормальной отдачи контента nginx'у.

2. Если увеличить pm.max_children в 10 раз - до 60 (ну и пропорционально pm.start_servers, pm.min_spare_servers, pm.max_spare_servers), то получаем следующую картину:
1-2 раза в минуту в логах php-fpm получаем ошибки: WARNING: [pool ...] child 29628 exited on signal 9 (SIGKILL) after 316.199535 seconds from start
2-4 раза в минуту в логах nginx получаем ошибки: [error] 28026#28026: *37051 recv() failed (104: Connection reset by peer) while reading response header from upstream

А вот здесь логика не понятна. Что происходит в этом случае ?
Сигнал SIGKILL получают php-процессы после обработки [pm.max_requests] запросов (см.ниже). В данном случае такой же сигнал они получают по некой иной причине ? Причём в процессе генерации html-контента. Падают и в итоге nginx не получет данные и тоже ругается. Вопрос в том, что здесь происходит с php-fpm процессами ?

P.S. Значение [pm.max_requests] я поставил в заведомо большое (недостижимое) значение, чтобы отделить мух от котлет.

3. Ну а если [pm.max_requests] поставить в какое-либо приемлемое (малое) значение, то при достижение php-fpm-процессами этого лимита картину получаем следующую:
php5-fpm генерирует предупрежедение: WARNING: [pool ...] child 27218 exited on signal 9 (SIGKILL) after 163.887046 seconds from start
nginx генерирует ошибку: [error] 27273#27273: *3117 recv() failed (104: Connection reset by peer) while reading response header from upstream

А вот здесь не понятно, почему при достижении лимита [pm.max_requests] php-процессы завершаются в момент генерации html-контента для nginx, а не после отдачи контента nginx'у ?
 

Оффлайн ogost

  • Главный модератор
  • Ветеран
  • *****
  • Сообщений: 2785
  • Linux Registered User #547151
Re: Ошибки php-fpm (SIGKILL) и (SIGABRT)
« Ответ #1 : 07 Ноябрь 2016, 03:38:16 »
гугл выдает что-то насчёт opcache, покажите /usr/share/php5/common/opcache.ini

Оффлайн cyrax

  • Новичок форума
  • Topic Author
  • Сообщений: 5
Re: Ошибки php-fpm (SIGKILL) и (SIGABRT)
« Ответ #2 : 07 Ноябрь 2016, 14:06:22 »
Цитировать
гугл выдает что-то насчёт opcache, покажите /usr/share/php5/common/opcache.ini
; configuration for php ZendOpcache module
; priority=05
zend_extension=opcache.so
opcache я отключил. Он на проблему никак не влияет. Что с ним, что без - ничего не меняется.
 

Оффлайн BegU

  • Пользователь
  • *
  • Сообщений: 33
Re: Ошибки php-fpm (SIGKILL) и (SIGABRT)
« Ответ #3 : 12 Август 2017, 12:13:02 »
Подскажите, из-за чего может возникать такая ошибка:

[12-Aug-2017 12:11:09] WARNING: [pool site.ru] child 17491 exited on signal 9 (SIGKILL) after 1071.230637 seconds from start
[12-Aug-2017 12:11:09] NOTICE: [pool site.ru] child 19138 started
 

Русскоязычное сообщество Debian GNU/Linux

Re: Ошибки php-fpm (SIGKILL) и (SIGABRT)
« Ответ #3 : 12 Август 2017, 12:13:02 »


Теги:
 

Ошибки в error логах апача

Автор JesterSoft

Ответов: 1
Просмотров: 1181
Последний ответ 07 Февраль 2013, 14:29:50
от easy
ошибки при установки пакета (любого пакета)

Автор vaynah

Ответов: 15
Просмотров: 7059
Последний ответ 09 Апрель 2014, 22:16:25
от vaynah
Как добавить картинку на страницу ошибки nginx?

Автор Sferg

Ответов: 1
Просмотров: 1232
Последний ответ 15 Сентябрь 2013, 01:28:17
от agentgoblin
Появилась ошибки rsyslogd:,imklog: error reading kernel log - shutting down: Bad

Автор lenin

Ответов: 1
Просмотров: 650
Последний ответ 08 Июль 2017, 10:54:20
от lenin
Правила iptables. Их ошибки.

Автор siferdj

Ответов: 0
Просмотров: 1262
Последний ответ 16 Февраль 2014, 01:07:15
от siferdj