我的apache服务器正在生成大量的“写入”状态的进程,直到所有的插槽被填满,整个networking服务器挂起。 这是我得到的:
root@viking:/# uname -a Linux viking 2.6.32-51-server #113-Ubuntu SMP Wed Aug 21 20:01:09 UTC 2013 x86_64 GNU/Linux root@viking:/# apache2 -V Server version: Apache/2.2.14 (Ubuntu)
这是一堆挂起的过程:
root@viking:/# cat /proc/14475/stack [<ffffffff81158c39>] poll_schedule_timeout+0x39/0x60 [<ffffffff81158e93>] do_poll+0x233/0x2c0 [<ffffffff81159965>] do_sys_poll+0x155/0x210 [<ffffffff81159c1c>] sys_poll+0x7c/0x110 [<ffffffff81013172>] system_call_fastpath+0x16/0x1b [<ffffffffffffffff>] 0xffffffffffffffff
这是很热,它出现在服务器状态:
Srv PID Acc M CPU SS Req Conn Child Slot Client VHost Request 0-0 14472 0/1033/1033 W 8.65 965 0 0.0 8.43 8.43 178.129.218.193 ***.com GET /programs/ HTTP/1.0
什么可能导致这种行为?
这种行为的一个常见原因是恶意客户端。 他们连接到您的Web服务器,请求一些数据,然后从不读取您的服务器发送的数据。 这吃掉了你的连接插槽。
看来,这是绞死请求不可用的服务。 由于某种原因,curl永远不会超时,永远等待响应。