描述 通常Systrace默认都会抓取CPU频率信息,但没有DDR/GPU频率/sched信息,而有时候需要常去看看DDR/GPU频率/FPSGO/sched等信息
解决办法
1、DDR频率
参考代码kernel-4.14/include/trace/events/mtk_events.h
TRACE_EVENT(perf_index_s,
TP_PROTO(
unsigned int sf0,
unsigned int sf1,
unsigned int sf2,
int dram_freq,
int bw_c,
int bw_g,
int bw_mm,
int bw_total,
int vcore_uv
),
systrace类似这样的打印:
swapper/2-0 (-----) [002] d.h1 1156.964742: perf_index_s: sched_freq=2000000|2000000|0 dram_freq=800 bw=-2135138048|-2135138048|-2135138048|-2135138048 vcore=550000
dram_freq=800 bw=-2135138048|-2135138048|-2135138048|-2135138048 vcore=550000
DDR频率 800MHz、CPU Bandwidth、GPU Bandwidth、modem Bandwidth、total Bandwidth、vcore电压。 Bandwidth数据可能不准,部分平台没有实现。
需要打开的Systrace event
adb shell "echo 1 > /sys/devices/system/cpu/perf/enable"
kernel-V4.1*版本: adb shell "echo 1 > /sys/kernel/tracing/events/mtk_events/perf_index_s/enable"
kernel-V5.10版本: adb shell "echo 1 > /sys/kernel/tracing/events/perf_tracker/perf_index_s/enable"
2 如果要在Systrace中记录当前可用的memory量,可用打开:
adb shell

文章描述了如何通过启用特定的kernel事件和使用adb命令在Systrace中捕获额外的系统性能信息,包括DDR频率、GPU频率、内存使用情况、FPSGO信息以及CPU的调度详情。这些步骤需要root权限,并且部分信息可能需要通过文本文件查看。此外,提供了针对不同kernel版本的启用事件路径。

416

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



