linux cpu调度分析

一、cpu调度调试方法

echo 0 > /sys/kernel/debug/tracing/tracing_on
echo > /sys/kernel/debug/tracing/trace
echo 30720 > /sys/kernel/debug/tracing/buffer_size_kb
echo nop > /sys/kernel/debug/tracing/current_tracer
echo 'sched_switch sched_wakeup sched_wakeup_new sched_waking ' > /sys/kernel/debug/tracing/set_event
echo > /sys/kernel/debug/tracing/trace
echo 1 > /sys/kernel/debug/tracing/tracing_on
Start tracing:
  echo 1 > /sys/kernel/debug/tracing/tracing_on

Test:

 echo 0 > /sys/kernel/debug/tracing/tracing_on

adb pull /sys/kernel/debug/tracing/trace trace.txt

二、cpu调度分析

chrome浏览器打开选择文件trace.txt文件;

浏览器网址:Perfetto UI
对于 Perfetto 文件,请点击 Open trace file。对于 Systrace 文件,请点击 Open with legacy UI。
查看快捷键:A左移D右移,W放大S缩小。

通过perfetto可以观察到每个进程或者每个线程在每个cpu上调度的密集程度,以及在每个cpu上的占用密度比。

linux cpu调度分析_第1张图片

你可能感兴趣的:(linux,cpu调度)