一个在Linux上运行的程序CPU占用高,有什么调优的思路

2013-11-28 21:05:17 +08:00
 lj0014
程序主要是接受tcp请求,然后读写redis后返回相应数据,没有大的计算量。
系统的IO也不高,用strace和oprofile查看了系统调用和非系统调用的情况,未发现异常之处。
ps -Lf看了下是程序中两个线程占用的比较高,接下来打算在业务代码里加日志把两个线程找出来。

是我的姿势不太对吗,是否还有别的思路可以定位的。
3041 次点击
所在节点    Linux
2 条回复
yboren
2013-11-28 21:54:41 +08:00
做profile,先把消耗cpu高的调用爪出来看看,然后看是否有啥可以优化的地方。
silentyear
2013-12-07 13:38:59 +08:00
个人建议,逻辑处理循环体里面,在没有数据来的情况下,加点sleep,例如1ms or 10ms,避免不断空转,仅供参考

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/91038

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX