我收到了关于服务器的 nagios 严重警告,当我检查时,ps -aux
我发现所有 nginx(php-fpm)都处于不间断睡眠状态
www-data 1330 0.4 0.3 299992 108560 ? D 16:06 0:16 php-fpm:池 www www-data 1338 0.4 0.2 254728 92728 ? D 16:06 0:16 php-fpm:池 www www-data 1346 0.4 0.3 293544 100272 ? D 16:06 0:17 php-fpm:池 www www-data 1356 0.7 0.3 302504 101532 ?D 16:06 0:29 php-fpm:池 www www-data 1357 0.3 0.2 270672 85952 ? D 16:06 0:13 php-fpm:池 www ....
我被它困住了,甚至无法重新启动 nginx。最后我重新启动了服务器来解决这个问题!
虽然我在 /etc/php5/fpm/php.ini 中有这个
紧急重启阈值=10 紧急重启间隔=1m 进程控制超时=10秒
这意味着 php5-fpm 应该在这种情况下重新启动,但它没有!
知道什么可能导致这些进程进入不间断睡眠状态以及如何避免将来出现这种情况吗?
感谢您的帮助
答案1
虽然 Dtop
表示不间断睡眠,但我觉得更容易理解的是将 D 理解为磁盘。该进程正在等待内核返回某些内容,而 95% 的时间都是从磁盘读取内容。
事实上,它是不可中断的睡眠,这就是为什么 php-fpm 无法自行重启。
因此在这种情况下,您需要检查您的磁盘,首先在fsck -f /dev/mapper/VG-LV
单用户模式下(如果是远程专用服务器或 VPS,那么您必须使用远程 KVM 控制台来实现此目的),然后读取 SMART 数据smartctl -a /dev/sd?
(如果它们不在硬件 RAID 阵列中;如果是硬件 RAID,请使用供应商提供的工具)以查看您的某个磁盘是否出现故障。