linux系统CPU高追踪实战

简介: 演示下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时间片都消耗在这个调用上面

按下回车


再按下回车

看代码貌似:

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



汇编指令

备注

inc

加1

cmp

比较

jle

小于等于

xor

逻辑或非

jmp

无条件转移

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

来看代码

packagemainfuncmain() {
demo()
}
funcdemo(){
for {
sum:=0fori:=0;i<=1000000;i++ {
sum+=i              }
       }
}


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

目录
相关文章
|
4天前
|
运维 Oracle 容灾
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
|
6天前
|
IDE Linux 开发工具
Linux 系统上安装
在Linux和Mac上安装Lua 5.3.0只需下载源码,解压,编译和安装。Windows用户可选择SciTE IDE或通过LuaForWindows在Github或Google Code下载安装。创建 HelloWorld.lua,使用`lua HelloWorld.lua`运行显示&quot;Hello World!&quot;。另可参考LuaDist官方推荐方式安装。
|
1天前
|
关系型数据库 MySQL Linux
在Linux系统中安装MySQL数据库
在Linux系统中安装MySQL数据库
16 3
|
1天前
|
运维 关系型数据库 MySQL
day03-Linux运维-Xshell优化和Linux系统命令入门(2)
day03-Linux运维-Xshell优化和Linux系统命令入门(2)
day03-Linux运维-Xshell优化和Linux系统命令入门(2)
|
1天前
|
运维 Linux Shell
day03-Linux运维-Xshell优化和Linux系统命令入门(1)
day03-Linux运维-Xshell优化和Linux系统命令入门(1)
day03-Linux运维-Xshell优化和Linux系统命令入门(1)
|
1天前
|
运维 Linux Shell
day02-Linux运维-系统介绍与环境搭建_硬件 系统核心 解释器shell 外围操作系统
day02-Linux运维-系统介绍与环境搭建_硬件 系统核心 解释器shell 外围操作系统
|
1天前
|
运维 Linux 程序员
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
|
4天前
|
运维 Linux
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗
|
5天前
|
监控 JavaScript Linux
Linux系统之部署Homepage个人导航页
【5月更文挑战第13天】Linux系统之部署Homepage个人导航页
27 1
|
6天前
|
监控 JavaScript 网络协议
Linux系统之安装uptime-kuma服务器监控面板
【5月更文挑战第12天】Linux系统之安装uptime-kuma服务器监控面板
19 0