1

我收到关于服务器的 nagios 严重警告,当我检查时ps -aux发现所有 nginx (php-fpm) 都处于不间断睡眠状态

www-data  1330  0.4  0.3 299992 108560 ?       D    16:06   0:16 php-fpm: pool www
www-data  1338  0.4  0.2 254728 92728 ?        D    16:06   0:16 php-fpm: pool www
www-data  1346  0.4  0.3 293544 100272 ?       D    16:06   0:17 php-fpm: pool www
www-data  1356  0.7  0.3 302504 101532 ?       D    16:06   0:29 php-fpm: pool www
www-data  1357  0.3  0.2 270672 85952 ?        D    16:06   0:13 php-fpm: pool www
....

我被困住了,甚至无法重新启动 nginx。最后我重新启动服务器来解决这个问题!今天问题再次发生,我设法重新启动 php5-fpm,这将服务器负载从 300 减少到 1.XX,
尽管我在 /etc/php5/fpm/php.ini 中有这个

emergency_restart_threshold=10
emergency_restart_interval=1m
process_control_timeout=10s

这意味着 php5-fpm 应该在这种情况下重新启动,但它没有!
知道什么可能导致这些进程进入不间断的睡眠状态以及将来如何避免这种情况?

4

1 回答 1

2

不间断睡眠转换为 I/O。处于这种状态的进程不处理信号。因此,PHP-FPM 无法重新启动处于此状态的进程。

您可能有一个坏的硬盘驱动器,PHP 脚本试图访问的网络挂载(nfs,cifs?)陈旧/死机,或者 I/O 争用的非常糟糕的情况。

此外,这根本与无关。

于 2012-06-21T09:29:11.267 回答