一个在Linux上运行的程序CPU占用高,有什么调优的思路
- 0次
- 2021-07-20 02:51:06
- idczone
程序主要是接受tcp请求,然后读写redis后返回相应数据,没有大的计算量。
系统的IO也不高,用strace和oprofile查看了系统调用和非系统调用的情况,未发现异常之处。
ps -Lf看了下是程序中两个线程占用的比较高,接下来打算在业务代码里加日志把两个线程找出来。
是我的姿势不太对吗,是否还有别的思路可以定位的。
做profile,先把消耗cpu高的调用爪出来看看,然后看是否有啥可以优化的地方。
个人建议,逻辑处理循环体里面,在没有数据来的情况下,加点sleep,例如1ms or 10ms,避免不断空转,仅供参考