我有一个带有Apache2.4.10mod-php的服务器。服务器正常启动,但过了一段时间,我在一个www数据进程上获得了100%的cpu,而一个web服务器就变得不可用了。
我在这个过程中尝试了strace,得到了这些行的无限循环:
poll([{fd=93, events=POLLIN}], 1, 3000) = 1 ([{fd=93, revents=POLLHUP}])
read(93, "", 13160)然后我试着用蚂蚁做了这个:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
apache2 1134 www-data 93r FIFO 0,8 0t0 3176528027 pipe是什么导致了这个问题?当我重新启动apache时,过了一段时间,我就有了相同的行为。
发布于 2018-06-11 14:27:47
服务器上的一些PHP脚本正在使用所有的cpu时间。也许你有一个无限的循环。来自strace的信息告诉脚本正在轮询管道的某些文件描述符。也许这个管道的另一端已经关闭,您的脚本仍然试图从中读取一些东西(未处理的错误)。
如果您不知道服务器上有这样的脚本,请检查是否没有其他脚本,这些脚本可能是由某人“注入”到您的服务器上的。检查Apache日志,查看远程客户端打开了哪些文件。
https://serverfault.com/questions/916096
复制相似问题