免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7609 | 回复: 6
打印 上一主题 下一主题

apache进程占用cpu100%怎么解决 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-23 17:22 |只看该作者 |倒序浏览
服务器上apache以多进程运行
最近网站老是出现不能访问的现象,远程连接后使用top发现有一个apache进程的cpu占用率一直在100%
使用strace跟踪了一下,发现应该是有一个请求死循环了
  1. socket(PF_NETLINK, SOCK_RAW, 0)         = 41
  2. bind(41, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0
  3. getsockname(41, {sa_family=AF_NETLINK, pid=1852, groups=00000000}, [12]) = 0
  4. sendto(41, "\24\0\0\0\26\0\1\3\311\265\314N\0\0\0\0\0\0\0\0", 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20
  5. recvmsg(41, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"0\0\0\0\24\0\2\0\311\265\314N<\7\0\0\2\10\200\376\1\0\0\0\10\0\1\0\177\0\0\1"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 168
  6. recvmsg(41, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"@\0\0\0\24\0\2\0\311\265\314N<\7\0\0\n\200\200\376\1\0\0\0\24\0\1\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 192
  7. recvmsg(41, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0\311\265\314N<\7\0\0\0\0\0\0\1\0\0\0\24\0\1\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 20
  8. close(41)                               = 0
  9. socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 41
  10. fcntl(41, F_GETFL)                      = 0x2 (flags O_RDWR)
  11. fcntl(41, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
  12. connect(41, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("222.186.58.121")}, 16) = 0
  13. fcntl(41, F_SETFL, O_RDWR)              = 0
  14. sendto(41, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"..., 8192, MSG_DONTWAIT, NULL, 0) = 8192
  15. sendto(41, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"..., 8192, MSG_DONTWAIT, NULL, 0) = 8192
  16. sendto(41, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"..., 8192, MSG_DONTWAIT, NULL, 0) = 8192
  17. sendto(41, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"..., 8192, MSG_DONTWAIT, NULL, 0) = 8192
  18. sendto(41, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"..., 8192, MSG_DONTWAIT, NULL, 0) = 8192
  19. sendto(41, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"..., 8192, MSG_DONTWAIT, NULL, 0) = 8192
  20. sendto(41, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"..., 8192, MSG_DONTWAIT, NULL, 0) = 8192
  21. sendto(41, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"..., 8156, MSG_DONTWAIT, NULL, 0) = 8156
  22. close(41)   
复制代码
想问下从上面的跟踪日志里能不能查出问题在哪?比如是请求的是哪个页面造成的

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
2 [报告]
发表于 2011-11-24 16:33 |只看该作者
服务器上apache以多进程运行
最近网站老是出现不能访问的现象,远程连接后使用top发现有一个apache进程的c ...
hipeace86 发表于 2011-11-23 17:22



    你关注一下近期的byterange漏洞,你这个可能是被攻击了。

论坛徽章:
0
3 [报告]
发表于 2011-11-24 17:59 |只看该作者
又发现一问题,就算是把它的ip用iptables给封了,结果还是会出现这个情况
  1. Chain INPUT (policy ACCEPT)
  2. target     prot opt source               destination         
  3. DROP       all  --  121.12.168.22        anywhere            

  4. Chain FORWARD (policy ACCEPT)
  5. target     prot opt source               destination         

  6. Chain OUTPUT (policy ACCEPT)
  7. target     prot opt source               destination
复制代码
都这样封了,还是会有这个ip的请求

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
4 [报告]
发表于 2011-11-25 13:24 |只看该作者
又发现一问题,就算是把它的ip用iptables给封了,结果还是会出现这个情况都这样封了,还是会有这个ip的请求 ...
hipeace86 发表于 2011-11-24 17:59



    你最好能把包审计下来,才能从原始包分析出来原因。

论坛徽章:
0
5 [报告]
发表于 2011-11-28 15:56 |只看该作者
现在写了个治标不治本的脚本
  1. # -*- coding: utf-8 -*-
  2. from subprocess import Popen, PIPE
  3. import re

  4. pipe = Popen("""top -bn1|grep apache2|awk '{print $1"="$9;}'""", shell=True, bufsize=1024, stdout=PIPE).stdout
  5. processes = pipe.read()
  6. pipe.close()

  7. ps = re.compile(r"(\d*)=([19]+.*)").findall(processes)
  8. for pid, useage in ps:
  9.     if(float(useage)) > 90:
  10.         Popen("kill -9 %s" % (pid), shell=True, bufsize=1024, stdout=PIPE).stdout.close()
复制代码
加到系统的定时任务中,每分钟检查一次,只要cpu占用超过90的就把进程给杀死

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
6 [报告]
发表于 2011-11-29 08:40 |只看该作者
回复 5# hipeace86


    如果发现有木马,首先肯定是要处理掉木马,否则任何的监测手段都不足以治本;
其次,增加防护手段,譬如说木马和一些常见攻击的防护。包审计手段可以用awstate,或者直接审计accesslog也可以。

论坛徽章:
0
7 [报告]
发表于 2012-09-17 10:03 |只看该作者
本帖最后由 bobreeves 于 2012-09-17 10:04 编辑

我们的我与他www.woyuta.com 也出现了服务器CPU资源被占完,卡死的现象。

求高手帮看看,可能是什么原因引起的。


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP