我正在学习 ftrace,我从以下链接中了解到我可以使用“function_profile_enabled”文件启用函数分析。
mount -t tracefs nodev /sys/kernel/tracing
cd /sys/kernel/tracing
echo 1 > function_profile_enabled
echo "function" > current_tracer
https://www.kernel.org/doc/html/v4.18/trace/ftrace.html
上面的链接告诉我们该信息存在于trace_stats/function (function0, function1..)中
$ ls trace_stat/function*
trace_stat/function0 trace_stat/function15 trace_stat/function21 trace_stat/function28 trace_stat/function6
trace_stat/function1 trace_stat/function16 trace_stat/function22 trace_stat/function29 trace_stat/function7
trace_stat/function10 trace_stat/function17 trace_stat/function23 trace_stat/function3 trace_stat/function8
trace_stat/function11 trace_stat/function18 trace_stat/function24 trace_stat/function30 trace_stat/function9
trace_stat/function12 trace_stat/function19 trace_stat/function25 trace_stat/function31
trace_stat/function13 trace_stat/function2 trace_stat/function26 trace_stat/function4
trace_stat/function14 trace_stat/function20 trace_stat/function27 trace_stat/function5
root tracing
我的 Ubuntu VM 上只有 4 个核心
$ grep -c ^processor /proc/cpuinfo
4
谁能解释一下trace_stat文件夹中这个文件function<>的实际意义trace_stat文件夹中的functions文件夹
答案1
这些文件是通过“for_each_possible_cpu()”循环创建的。由于某种原因,您的内核认为您的系统启用了 32 个可能的 CPU。某些 BIOS 存在一些问题导致了这种情况。