linux调试及检测工具

前沿

性能检测工具

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采样—>分析