zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    <Redis开发与运维> 阅读笔记
    请求行,请求头,请求体详解
    char 与 varchar 的区别
    python字符串的常用方法。
    快速排序的代码及原理
    C#之Dictionary源码
    C#中构造函数
    U3D——单例模式的用法
    U3D学习——设置VS2019作为开发工具
    U3D学习——脚本运行周期
  • 原文地址:https://www.cnblogs.com/hellokitty2/p/13043615.html
Copyright © 2011-2022 走看看