文档首页/ LiteOS/ 维测指南/ 调度统计
更新时间:2021-07-08 GMT+08:00
分享

调度统计

功能说明

用于统计CPU的一些调度信息,包括idle任务启动时间、idle任务运行时长、调度切次数等。

使用方法

  1. 通过make menuconfig开启该调度统计功能,即配置LOSCFG_DEBUG_SCHED_STATISTICS=y,该功能默认关闭,菜单路径为:Debug ---> Enable a Debug Version ---> Enable Debug LiteOS Kernel Resource ---> Enable Scheduler Statistics Debugging。
  2. 将以下函数注册为Shell命令。Shell命令注册方法详见新增命令开发流程

    OsShellStatisticsStart---调度统计功能开启函数。

    OsShellStatisticsStop---调度统计功能关闭函数。关闭后,会自动调用OsStatisticsShow输出调度统计信息。

    OsShellCmdDumpSched---显示CPU调度信息的函数。

  3. 调度信息查看。

    在Shell窗口中调用注册的命令。

注意事项

先执行OsShellStatisticsStart对应的Shell命令,开启调度统计功能后,再查看调度信息。

输出说明

图1 调用OsShellStatisticsStop后输出

图中的mpstop是OsShellStatisticsStop注册的Shell命令,仅用于举例,实际上系统中并不存在该命令。图中各输出项说明如下表所示:

Passed Time

调度功能运行时长

CPU

CPU名称

Idle(%)

idle任务运行时长百分比

ContexSwitch

任务调度切换次数

HwiNum

中断触发次数

Avg Pri

切入任务不为idle任务的任务优先级平均值

HiTask(%)

高优先级任务运行时长所占百分比,定义优先级小于16为高优先级

HiTask SwiNum

切入新任务为高优先级的切换次数,定义优先级小于16为高优先级

HiTask P(ms)

高优先级任务运行的平均时长,定义优先级小于16为高优先级

MP Hwi

核间中断触发次数,仅用于多核

图2 调用OsShellCmdDumpSched输出

图中的mpstat是OsShellCmdDumpSched注册的Shell命令,仅用于举例,实际上系统中并不存在该命令。图中各输出项说明如下表所示:

Task

任务名称

TID

任务ID

Total Time

所有CPU的任务运行时长

Total CST

所有CPU任务上下文切换次数

CPU

CPU名称

Time

单CPU的任务运行时长

CST

单CPU的任务上下文切换次数

相关文档