Last updated 5 years ago
Was this helpful?
中提到了采用perf分析kworker大量占用CPU的方法,非常实用:
perf record
首先记录10秒钟CPU所有的backtraces
sudo perf record -g -a sleep 10
-a 表示--all-cpus,采集系统所有CPU-g 表示启用call-graph(stack chain/backtrace)记录
-a 表示--all-cpus,采集系统所有CPU
-a
--all-cpus
-g 表示启用call-graph(stack chain/backtrace)记录
-g
call-graph
然后分析
sudo perf report
可以通过 ←, →, ↑, ↓ 和 Enter键来检查各个进程的活动函数,这样就容易找到阻塞的热点和负载原因,非常实用。
←, →, ↑, ↓
Enter
perf top
perf top可以实时检查系统调用的函数分析,并且还支持指定进程-p <process_id>,分析某个进程。
-p <process_id>