我正在测试一个基于 ARM 的嵌入式目标,运行定制的嵌入式 Linux 版本 3.14。
有什么方法可以找出我的 Linux 在运行时使用的调度策略吗?
我/proc/sys
在目标上看到了一些类似的条目。但我不确定是否是CFS:
sched_child_runs_first
sched_domain/
sched_latency_ns
sched_migration_cost_ns
sched_min_granularity_ns
sched_nr_migrate
sched_rr_timeslice_ms
sched_rt_period_us
sched_rt_runtime_us
sched_shares_window_ns
sched_time_avg_ms
sched_tunable_scaling
sched_wakeup_granularity_ns
有人可以帮忙吗?
答案1
我假设您想了解您的系统是否正在使用 CFS CPU 调度程序。调度策略是 CFS 或其他调度程序使用的策略。在我的 Ubuntu 16.04 机器上,我有 /proc/sched_debug。或许你可以从以下内容中得到一些提示:
cat /proc/sched_debug
如果您的系统使用 CFS 调度程序,输出应包含类似以下内容:
cfs_rq[CORE_NUMBER]: ...