天翼云代理,天翼云代理商,北京代理商
天翼云2.5折专线:18510009100/18510009200(全国市话)

linux系统CPU高追踪实战

2022-01-11 11:07:29

先来个实战吧。

某进程CPU使用率非常高,不知道什么原因

某进程CPU使用率非常高


使用perf命令排查

输入命令后,一会就可以Ctrl+c停止掉

# perf record -p 14942 ^C[ perf record: Woken up 5 times to write data ] [ perf record: Captured and wrote 1.396 MB perf.data (36172 samples) ]

分析刚才的数据

输入命令

# perf report


可以看到99.78%的CPU时间片都消耗在这个调用上面

按下回车

image


再按下回车

image

看代码貌似:

main函数中执行了demo函数,然后demo函数里面有个for{ } 循环


image


汇编指令

备注

inc

加1

cmp

比较

jle

小于等于

xor

逻辑或非

jmp

无条件转移

通过指令,大概可以看出,比较某数字,增加1

来看代码

package main func main() {  demo() } func demo(){  for {  sum:=0  for i:=0;i<=1000000;i++ {  sum+=i  }  } }


这里只是提供一个demo案例,你也可以使用这种方式找到热点函数

12年经验 · 提供上云保障

服务热线:132-6161-6125(手机) 400-150-1900(全国市话)

站内导航: 天翼云服务器价格| 天翼云购买流程| 天翼云代理| 北京天翼云代理商| 杭州天翼云代理| 深圳天翼云代理商| 钉钉代理商| 阿里云代理| 公司官网

我公司收款账号| 天翼云备案系统

CopyRight © 2019 天翼云代理商. All Rights Reserved 京ICP备2024071855号-7 管理-北京优胜智连科技有限公司