Latencytop是一种用于Linux系统的工具,旨在帮助软件开发人员识别系统中的延迟问题。它通过记录内核上下文切换时被切换的进程的内核栈,然后通过匹配内核栈的函数来判断是什么原因导致上下文切换。此外,LatencyTOP将几十种容易引起切换的场景的函数记录起来,以便在判断系统问题时能更容易地定位问题。LatencyTOP分为两个部分:内核部分和应用部分。内核部分负责调用栈的收集并且通过/proc来暴露,应用部分负责显示。
kernel 需要开启宏
CONFIG_LATENCYTOP=y
源码路径
linux-5.4.258/kernel/latencytop.c
开机后会生产 /proc/sys/kernel/latencytop和proc/latency_stats
开启latencytop
echo 1 > /proc/sys/kernel/latencytop
查看
cat proc/latency_stats
应用部分:
安卓中可以通过latencytop bin文件的形式查看,源码路径如下
system\extras\latencytop
编译会生成latencytop bin文件,push到系统执行如下: