CPU调度

一、proc文件解释

1. /proc/sys/kernel/sched_short_sleep_ns

调度器在任务运行短暂峰值时总是试图避免唤醒idle cpu。如果任务平均峰值小于 sysctl_sched_short_burst 纳秒,并且睡眠平均时间大于 sysctl_sched_short_sleep 纳秒,那么此任务倾向被打包。提高这个值会导致任务更频繁被打包,有利于功耗,但是会损害性能。将这个值设置为0将会disable任务打包。

2./proc/sys/kernel/sched_short_burst_ns

跟上面参数一起使用,确定任务是否适宜打包。提高这个值也会导致任务任务打包更频繁,设置为0将disable此值。

3./proc/sys/kernel/sched_group_upmigrate

这个值是个百分比。任务需求相对cpu能力的百分比,如果这个任务组的总需求超过这个cpu,那么这个cpu对这个任务组来说太小。调度器将尝试找到一个更强劲的cpu来处理此任务组。提高这个值将会阻止任务往大核迁移,有利于功耗,不利于性能。换句话时候就是上大核的阈值。

4./proc/sys/kernel/sched_group_downmigrate

同上,也是个百分比,如果任务组已经迁移到大核,并且任务组总需求cpu将会降到 sched_group_downmigrate 以下,此时调度器将会找到一个最佳能耗的cpu来完成任务组执行;降低此值将会阻止任务迁移到小核上,对性能有利。就是从大核下下来的阈值。

5. /proc/sys/kernel/sched_freq_aggregate

一个标志,用来控制调度器是否应该将相关线程组的总的cpu忙时间报告给Governor用来设置cpu频率,关闭此功能有利于降低功耗。

6./proc/sys/kernel/sched_freq_aggregate_threshold

时间阈值(ms),这个是cpu忙时间,当总的任务组的忙时间超过这个值时,调度器才会进行频率聚合。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

参考: https://www.geek-share.com/detail/2713433601.html

 

posted on   Hello-World3  阅读(972)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2019-06-04 Linux中V4L2分析
2019-06-04 ppm图片显示
2019-06-04 应用层与内核层错误打印函数总结

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示