1.利用系统自动的trace功能,编辑如下脚本,vim trace_process.sh
#!/bin/sh
cd /sys/kernel/debug/tracing/
#清空原有跟踪信息
echo > trace
echo nop > current_tracer
#设置要跟踪的进程
echo "pid=281255"
echo 281255 > set_ftrace_pid
# [can set other filtering here]
echo function_graph > current_tracer
#开始跟踪
echo 1 > tracing_on
sleep 2
#结束跟踪
echo 0 > tracing_on
#记录跟踪信息
cat trace > /home/xxx/tracelog.txt
还原原有配置信息
echo nop > current_tracer
echo "no pid" > set_ftrace_pid
echo 1 > tracing_on
2.执行脚本前可以先记录上述几个配置的原始值,并填入上述脚本的后三项还原配置中
3.给脚本添加可执行权限,并执行,2秒后自动停止,从/home/xxx/tracelog.txt中查看具体时延消耗情况。
本文介绍了一个使用Bash编写的脚本vimtrace_process.sh,通过Linux内核的ftrace功能进行系统级进程跟踪。脚本包括清空跟踪信息、设置追踪目标、启动和停止跟踪,以及将结果保存到tracelog.txt。此外,还提到在执行前备份配置以便于还原。
1772

被折叠的 条评论
为什么被折叠?



