免费注册 查看新帖 |

Chinaunix

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

通过strace -f -p 9887 求高手帮我分析一下..apache占用资源cpu使用率很高. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-21 03:52 |只看该作者 |倒序浏览
通过抓包
strace -f -p 9887
得到很多这样的东西不知道是做什么用的请各位大大帮忙
poll([{fd=11, events=POLLIN}], 1, 0)    = 0
gettimeofday({1240255565, 446146}, NULL) = 0
gettimeofday({1240255565, 446205}, NULL) = 0
select(12, [11], [11], [], {15, 0})     = 1 (out [11], left {15, 0})
poll([{fd=11, events=POLLIN}], 1, 0)    = 0
gettimeofday({1240255565, 446422}, NULL) = 0
gettimeofday({1240255565, 446481}, NULL) = 0
select(12, [11], [11], [], {15, 0})     = 1 (out [11], left {15, 0})

省略几千行.详细内容查看附件

strace分析.rar

1.41 KB, 下载次数: 71

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:172015亚冠之水原三星
日期:2015-06-02 16:34:202015年亚冠纪念徽章
日期:2015-10-19 18:13:37程序设计版块每日发帖之星
日期:2015-11-08 06:20:00
2 [报告]
发表于 2009-04-21 06:01 |只看该作者
你是跟踪的CPU最高的那个进程么?
你是否打开了代理功能或者没有关闭DNS查找, 看到你的程序里面有DNS解析的部分?

用strace -Ff -p看看呢

论坛徽章:
0
3 [报告]
发表于 2009-04-21 15:09 |只看该作者
路过顺便看到,这个是系统调用
gettimeofday({1240255565, 446146}, NULL) = 0
gettimeofday({1240255565, 446205}, NULL) = 0
几千行这个说明频繁在执行time函数获取时间戳或者内部在计时
poll和select是linux的非阻塞IO模型
poll([{fd=11, events=POLLIN}], 1, 0)  表示设备可无阻塞读,句柄号为11
看样子是在做一些远程IO操作的等待吧,具体要看具体的程序实现。

论坛徽章:
0
4 [报告]
发表于 2009-04-25 04:06 |只看该作者
原帖由 Dalamar 于 2009-4-21 15:09 发表
路过顺便看到,这个是系统调用
gettimeofday({1240255565, 446146}, NULL) = 0
gettimeofday({1240255565, 446205}, NULL) = 0
几千行这个说明频繁在执行time函数获取时间戳或者内部在计时
poll和select是l ...

求教您说的远程i/o操作等待
是不是指上传一类的程序呢.....
我这里有这个
select(7, [6], [6], [], {15, 0})        = 1 (out [6], left {15, 0})
poll([{fd=6, events=POLLIN}], 1, 0)     = 0
select(7, [6], [6], [], {15, 0})        = 1 (out [6], left {15, 0})
poll([{fd=6, events=POLLIN}], 1, 0)     = 0
select(7, [6], [6], [], {15, 0})        = 1 (out [6], left {15, 0})
poll([{fd=6, events=POLLIN}], 1, 0)     = 0
select(7, [6], [6], [], {15, 0})        = 2 (in [6], out [6], left {15, 0})
poll([{fd=6, events=POLLIN, revents=POLLIN}], 1, 0) = 1
recvfrom(6, "D\220\303\34l\242TR\262\36\374g\322\260\251/\262\267!_~\203\20\301<~s\215\312\21\276B"..., 16383, 0, NULL, NULL) = 8192
lseek(7, 2494464, SEEK_SET)             = 2494464
write(7, "D\220\303\34l\242TR\262\36\374g\322\260\251/\262\267!_~\203\20\301<~s\215\312\21\276B"..., 8192) = 8192
lseek(7, 2494464, SEEK_SET)             = 2494464
read(7, "D\220\303\34l\242TR\262\36\374g\322\260\251/\262\267!_~\203\20\301<~s\215\312\21\276B"..., 8192) = 8192
write(8, "D\220\303\34l\242TR\262\36\374g\322\260\251/\262\267!_~\203\20\301<~s\215\312\21\276B"..., 8192) = 8192
select(7, [6], [6], [], {15, 0})        = 1 (out [6], left {15, 0})
poll([{fd=6, events=POLLIN}], 1, 0)     = 0
select(7, [6], [6], [], {15, 0})        = 1 (out [6], left {15, 0})
poll([{fd=6, events=POLLIN}], 1, 0)     = 0
select(7, [6], [6], [], {15, 0})        = 1 (out [6], left {15, 0})
poll([{fd=6, events=POLLIN}], 1, 0)     = 0

论坛徽章:
0
5 [报告]
发表于 2009-04-25 10:49 |只看该作者
原帖由 xinglp 于 2009-4-21 06:01 发表
你是跟踪的CPU最高的那个进程么?
你是否打开了代理功能或者没有关闭DNS查找, 看到你的程序里面有DNS解析的部分?

用strace -Ff -p看看呢

我跟踪的是最高的那个占用cpu进程.....
我的应用主要是web应用...你说会不会是上传程序占用过多的cpu资源....
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP