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 2020-06-04 15:00 Hello-World3 阅读(972) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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 应用层与内核层错误打印函数总结