• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Scheduling analysis抓取和展示说明
2抓取和展示CPU调度分析,线程调度分析相关数据。
3## Scheduling analysis的抓取
4### Scheduling analysis抓取界面配置说明
5打开Scheduling analysis开关抓取调度分析数据。
6![GitHub Logo]( ../../figures/Schedulinganalysis/scheduset.jpg)
7### Scheduling analysis文件的抓取
8点击Record setting,在output file path输入文件名hiprofiler_dataScheduling.htrace,拖动滚动条设置buffer size大小是64M,抓取时长是50s。
9![GitHub Logo]( ../../figures/Schedulinganalysis/schedusetting.jpg)
10点击Trace command,就会根据上面的配置生成抓取命令,点击Record抓取,抓取过程中会显示抓取时长。
11![GitHub Logo]( ../../figures/Schedulinganalysis/scheduexcuting.jpg)
12## Scheduling analysis功能介绍
13将抓取的文件导入到smartperf工具查看。
14### CPU频点分析
15点击下拉列表框选择CPU Frequency,可以看到各核CPU的各频点持续时长的占比图,以颜色区分各频点。
16![GitHub Logo]( ../../figures/Schedulinganalysis/CPUFrequencychart.jpg)
17点击CPU Frequency饼图,可以跳转到详细信息界面,用饼图和表格来展示某个CPU下各频点持续时长的的相关数据。
18![GitHub Logo]( ../../figures/Schedulinganalysis/CPUFrequencydetailinfo.jpg)
19+     No:编号。
20+     frequency:频率。
21+     min:最小时长。
22+     max:最大时长。
23+     average:平均时长。
24+     duration:运行总时长。
25点击详细页的CPU Frequency饼图,可以跳转某个CPU下某个频点的运行的线程信息。
26![GitHub Logo]( ../../figures/Schedulinganalysis/CPUFrequencythreaddetail.jpg)
27+     No:编号。
28+     t_name:线程名。
29+     tid:线程id。
30+     p_name:进程名。
31+     p_pid:进程id。
32+     duration:运行总时长。
33### CPU Idle分析
34点击下拉列表框选择CPU Idle,可以看到各CPU的Idle的时长占比饼图,以颜色区分各Idle。
35![GitHub Logo]( ../../figures/Schedulinganalysis/CPUidlechart.jpg)
36点击CPU Idle饼图,可以跳转到某CPU的idle分析的详细数据,以饼图和表格的形式展示。
37![GitHub Logo]( ../../figures/Schedulinganalysis/CPUidledetailinfo.jpg)
38+     No:编号。
39+     idle:idle值。
40+     min:最小时长。
41+     max:最大时长。
42+     average:平均时长。
43+     duration:运行总时长。
44### CPU Irq分析
45点击下拉列表框选择CPU Irq,可以看到各CPU的Irq的时长占比饼图,以颜色区分。
46![GitHub Logo]( ../../figures/Schedulinganalysis/CPUirqchart.jpg)
47点击CPU Irq饼图,可以跳转到某CPU的Irq分析的详细数据,以饼图和表格的形式展示。
48![GitHub Logo]( ../../figures/Schedulinganalysis/CPUirqdetailinfo.jpg)
49+     No:编号。
50+     block:irq的类型。
51+     name:irp名称。
52+     min:最小时长。
53+     max:最大时长。
54+     average:平均时长。
55+     duration:运行总时长。
56### CPU占用率显示
57以表格显示各CPU的占用率。
58![GitHub Logo]( ../../figures/Schedulinganalysis/CPUusagechart.jpg)
59### Top20线程大中小核占用率
60选择Thread Analysis标签页,各个CPU通过勾选big或者middle或者small来设置CPU的分类。
61![GitHub Logo]( ../../figures/Schedulinganalysis/CPUsetting.jpg)
62各CPU勾选好大中小核,点击Upload可以跳转到各个线程CPU占用率情况的展示页面。
63![GitHub Logo]( ../../figures/Schedulinganalysis/CPUdetailsetting.jpg)
64如上图所示:
65+     三色柱状图:各个线程CPU的占用率情况,其中以颜色区分占用的大中小核的占用率情况,并以表格的形式展示各个线程的基本信息和大中小核占用率。
66+     单色柱状图:分别统计线程在某一个类别(大、中、小)的CPU的占用率,并显示出线程的基本信息和占用率。
67表格的字段说明:
68+     tid:线程号。
69+     t_name:线程名。
70+     pid:进程号。
71+     p_name:进程名。
72+     big core:大核占用时长。
73+     middle core:中核占用时长。
74+     small core:小核占用时长。
75+     cpu..(us):运行总时长(..代表cpu号)。
76### 单个线程频点分布
77点击单个线程频点分布的标签,通过在Thread Search选择线程,来展示单个线程的频点分布情况。
78![GitHub Logo]( ../../figures/Schedulinganalysis/CPUfrequencybythread.jpg)
79+     NO:编号。
80+     cpu:cpu编号。
81+     frequency:频点。
82+     duration:运行时长。
83+     %:频点占用率。
84### Top20单次运行超长线程
85通过点击Top20单次运行超长线程标签,显示线程的单次运行时长来统计出单次运行时长最大的20个线程。
86![GitHub Logo]( ../../figures/Schedulinganalysis/Top20Threadduration.jpg)
87+     NO:编号。
88+     tid:线程号。
89+     t_name:线程名。
90+     pid:进程号。
91+     p_name:进程名。
92+     max duration:最大运行时长。
93+     timestamp:时间戳信息。
94### Top20进程线程数
95通过点击Top20进程线程数标签,显示线程数量最多的20个进程,以饼图和表格方式显示。
96![GitHub Logo]( ../../figures/Schedulinganalysis/Top20Threadnum.jpg)
97+     NO:编号。
98+     pid:进程号。
99+     p_name:进程名。
100+     thread count:线程数量。
101### Top20切换次数线程
102通过点击Top20切换次数线程标签,显示切换次数最多的20个进程,以饼图和表格方式显示。
103![GitHub Logo]( ../../figures/Schedulinganalysis/Top20swtichcount.jpg)
104+     NO:编号。
105+     tid:线程号。
106+     t_name:线程名。
107+     pid:进程号。
108+     p_name:进程名。
109+     sched_switch count:切换次数。
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124