前沿
性能检测工具
1. oprofile: cpu性能分析工具
一般碰到系统性能问题,如cpu升高,内存使用超标等;我们可以通过ps命令看到超标的进程,但是很难进一步分析;oprofile工具可以在一定程度上解决这个问题
cpu架构采样的触发有两种模式
-
NMI模式: 利用处理器的performance counter功能,指定counter类型type和累进数量count
通过ophelp查看当前cpu支持的counter类型和参数;”–event=MISALIGN_MEM_REF:1000:0:1:0”: 非对齐的内存访问,每1000次触发一个中断,1000后面的0表示改特定counter的mask,具体含义看ophelp的内容;最后1:0表示只对kernel采样,不对用户空间程序采样
-
timer interrupt模式
在没有performance counter功能的情况下,可以利用时钟中断采样,要使用timer interrupt模式,需要在加载oprofile.ko模块的时候,传递”timer=1”参数
使用大致步骤
-
安装oprofile
-
准备获取有debuginfo信息的内核文件vmlinux,相当于符号表
-
初始化oprofile,通过demsg查看oprofile使用的是哪一种模式
-
开启/停止cpu采样—>分析