Приветствую!
Такая проблема есть VPS на нем LNMP, в спокойном состоянии процессор почти без нагрузки( буквально 5% в среднем) и из 2ГБ оперативы занято 1.2ГБ (в основном MYSQL занимает). Когда запускается тяжелый скрипт то процессор нагружается на 100% и "залипает". Все дочерние процессы php-fpm отваливаются и в работе только master process. Если рестартнуть php то все приходит в норму.
В логах это
NOTICE: [pool www] child 21607 exited with code 0 after 0.037460 seconds from start
Все на одном сервере, php-fpm на сокете
www.conf
[www]
;prefix = /path/to/pools/$pool
user = www-data
group = www-data
listen = /run/php/php7.0-fpm.sock
;listen.backlog = 511
listen.owner = www-data
listen.group = www-data
;listen.mode = 0660
;listen.acl_users =
;listen.acl_groups =
;listen.allowed_clients = 127.0.0.1
; process.priority = -19
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
;pm.process_idle_timeout = 10s;
;pm.max_requests = 500
;pm.status_path = /status
;ping.path = /ping
;ping.response = pong
;access.log = log/$pool.access.log
;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
;slowlog = log/$pool.log.slow
;request_slowlog_timeout = 0
;request_terminate_timeout = 0
;rlimit_files = 1024
;rlimit_core = 0
;chroot =
;chdir = /var/www
;catch_workers_output = yes
;clear_env = no
;security.limit_extensions = .php .php3 .php4 .php5 .php7
;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp
;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
;php_flag[display_errors] = off
;php_admin_value[error_log] = /var/log/fpm-php.www.log
;php_admin_flag[log_errors] = on
;php_admin_value[memory_limit] = 32M
Возможно памяти не хватает, но не суть. Оптимизировать скрипт конечно надо, но это же не избавит от самой проблемы. Можно сделать авторестарт по факту падения, но есть подозрение что проблема не редкая и должно быть какое-то простое лечение, какая-нибудь волшебная настройка в конфиге?