V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
lj0014
V2EX  ›  Linux

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

  •  
  •   lj0014 · 2013-11-28 21:05:17 +08:00 · 3106 次点击
    这是一个创建于 3992 天前的主题,其中的信息可能已经有所发展或是发生改变。
    程序主要是接受tcp请求,然后读写redis后返回相应数据,没有大的计算量。
    系统的IO也不高,用strace和oprofile查看了系统调用和非系统调用的情况,未发现异常之处。
    ps -Lf看了下是程序中两个线程占用的比较高,接下来打算在业务代码里加日志把两个线程找出来。

    是我的姿势不太对吗,是否还有别的思路可以定位的。
    2 条回复    1970-01-01 08:00:00 +08:00
    yboren
        1
    yboren  
       2013-11-28 21:54:41 +08:00
    做profile,先把消耗cpu高的调用爪出来看看,然后看是否有啥可以优化的地方。
    silentyear
        2
    silentyear  
       2013-12-07 13:38:59 +08:00
    个人建议,逻辑处理循环体里面,在没有数据来的情况下,加点sleep,例如1ms or 10ms,避免不断空转,仅供参考
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2623 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:34 · PVG 23:34 · LAX 08:34 · JFK 11:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.