perf性能分析测试

perf性能分析测试

一.内核配置

./kernel/trace
kernel hacking
     TRACER NOP TRACER
     TRACER TRACE CLOCK
     TRACER RING BUFFER
     TRACER EVENT TRACING
     TRACET TRACING
     Tracers             

./init/kconfig, 打开宏CONFIG_PERF_EVENTS
General setup
     kernel performance event and counters

Device drivers
     Hardware Mnitoring support

kernel hacking->Compile-time checks and compiler options

     Debug Filesystem

HAVE_PERF_EVENTS 已经默认打开

 

二.实际问题


问题1:
    在代码./kernel/events/core.c中有宏定义CONFIG_EVENT_TRACING,来控制不同的代码编译路径,有一个
是空函数perf_tp_register(void),需要在kernel hacking中把TRACER EVENT TRACING打开。
问题2:
    打开tracer point后,内核代码增加了600多K,导致内核解压时出错,可能uboot时分配的解压空间有限
,删除了部分没有用到的驱动


三.测试实例

  mount -t debugfs nodev /sys/kernel/debug/                                    //挂载可以trace 的trace point事件
  perf stat -e 'syscalls:sys_enter_*' ls

 

四.优秀的博客地址


https://blog.csdn.net/he11o_liu/article/details/80361542
https://blog.csdn.net/pwl999/article/details/81393149

你可能感兴趣的:(linux内核)