Linux 内部共有五种对频率的管理策略 userspace , conservative , ondemand , powersave  和  performance。

l performance  : CPU 会固定工作在其支持的最高运行频率上;

l powersave  : CPU 会固定工作在其支持的最低运行频率上。因此这两种 governors  都属于静态  governor  ,即在使用它们时  CPU  的运行频率不会根据系统运行时负载的变化动态作出调整。这两种 governors  对应的是两种极端的应用场景,使用  performancegovernor  体现的是对系统高性能的最大追求,而使用  powersave governor  则是对系统低功耗的最大追求。

l Userspace :最早的  cpufreq  子系统通过  userspace governor 为用户提供了这种灵活性。系统将变频策略的决策权交给了用户态应用程序,并提供了相应的接口供用户态应用程序调节CPU 运行频率使用。(可以使用 Dominik  等人开发了 cpufrequtils  工具包   )

l ondemand  : userspace 是内核态的检测,效率低。而 ondemand 正是人们长期以来希望看到的一个完全在内核态下工作并且能够以更加细粒度的时间间隔对系统负载情况进行采样分析的  governor 。

l conservative  :  ondemand governor  的最初实现是在可选的频率范围内调低至下一个可用频率。这种降频策略的主导思想是尽量减小对系统性能的负面影响,从而不会使得系统性能在短时间内迅速降低以影响用户体验。但是在  ondemand governor  的这种最初实现版本在社区发布后,大量用户的使用结果表明这种担心实际上是多余的,  ondemand governor 在降频时对于目标频率的选择完全可以更加激进。因此最新的 ondemand governor  在降频时会在所有可选频率中一次性选择出可以保证 CPU  工作在  80%  以上负荷的频率,当然如果没有任何一个可选频率满足要求的话则会选择CPU  支持的最低运行频率。大量用户的测试结果表明这种新的算法可以在不影响系统性能的前提下做到更高效的节能。在算法改进后,  ondemand governor  的名字并没有改变,而  ondemandgovernor  最初的实现也保存了下来,并且由于其算法的保守性而得名  conservative  。

Ondemand 降频更加激进,conservative 降频比较缓慢保守,事实使用 ondemand 的效果也是比较好的。

2.       相关工具

Cpupower指令可以控制(具体使用方法参见:cpupower help):

Usage:     cpupower [-d|--debug] [-c|--cpu cpulist ] []

Supported commands are:

frequency-info

frequency-set

idle-info

idle-set

set

info

monitor

help

比如:

[root@localhost ~]#   cpupower -c all  frequency-info

analyzing CPU 0:

driver: acpi-cpufreq

CPUs which run at the same hardwarefrequency: 0

CPUs which need to have their frequencycoordinated by software: 0

maximum transition latency: 10.0 us.

hardware limits: 1.60 GHz - 2.93 GHz

available frequency steps: 2.93 GHz, 2.67GHz, 2.40 GHz, 2.13 GHz, 1.87 GHz, 1.60 GHz

available cpufreq governors: conservative, userspace, powersave,ondemand, performance

current policy: frequency should be within1.60 GHz and 2.93 GHz.

The governor "conservative"may decide which speed to use

within this range.

current CPU frequency is 1.60 GHz (assertedby call to hardware).

boost state support:

Supported: no

Active: no

analyzing CPU 1:

driver: acpi-cpufreq

CPUs which run at the same hardwarefrequency: 1

CPUs which need to have their frequencycoordinated by software: 1

maximum transition latency: 10.0 us.

hardware limits: 1.60 GHz - 2.93 GHz

available frequency steps: 2.93 GHz, 2.67GHz, 2.40 GHz, 2.13 GHz, 1.87 GHz, 1.60 GHz

available cpufreq governors: conservative,userspace, powersave, ondemand, performance

current policy: frequency should be within1.60 GHz and 2.93 GHz.

The governor"conservative" may decide which speed to use

within this range.

current CPU frequency is 1.60 GHz (assertedby call to hardware).

boost state support:

Supported: no

Active: no

3.       相关文件

Cpu频率相关的文件在/sys/devices/system/cpu/cpu0/cpufreq/目录。

Cpufreq 在用户态所呈现的接口:

l cpuinfo_max_freq  cpuinfo_min_freq :   分别给出了  CPU  硬件所支持的最高运行频率及最低运行频率,

l cpuinfo_cur_freq  则会从CPU 硬件寄存器中读取CPU 当前所处的运行频率。

l Governor 在选择合适的运行频率时只会在scaling_max_freq 和 scaling_min_freq  所确定的频率范围内进行选择

l scaling_cur_freq  返回的是cpufreq 模块缓存的CPU当前运行频率,而不会对CPU 硬件寄存器进行检查。

l scaling_available_governors 会告诉用户当前有哪些  governors  可供用户使用

l scaling_driver  则会显示该  CPU  所使用的变频驱动程序

l Scaling_governor  则会显示当前的管理策略,往这个上 echo 其他类型会有相应的转变。

l scaling_setspeed :需将 governor 类型切换为 userspace ,才会出现,往这个文件 echo 数值,会切换主频

4.       相关内核模块

内核编译时的控制参数:

#

# x86 CPU frequency scalingdrivers

#

CONFIG_X86_INTEL_PSTATE=y

CONFIG_X86_PCC_CPUFREQ=m

CONFIG_X86_ACPI_CPUFREQ=m

CONFIG_X86_ACPI_CPUFREQ_CPB=y

相关的内核模块:

/lib/modules/3.10.0-327.el7.x86_64/kernel/drivers/cpufreq

/lib/modules/3.10.0-327.el7.x86_64/kernel/drivers/cpufreq/acpi-cpufreq.ko

/lib/modules/3.10.0-327.el7.x86_64/kernel/drivers/cpufreq/cpufreq_stats.ko

/lib/modules/3.10.0-327.el7.x86_64/kernel/drivers/cpufreq/pcc-cpufreq.ko

较新的linux版本对于Intel的处理器有优化,导致无法看到五种governors,只有powersave,和performance两种,但实际效果并不好。这是由于使用intel_pstate驱动导致,可以通过在引导脚本增加intel_pstate=disable关闭。

6.       参考

linux cpu控制软件下载,Linux CPU频率控制相关推荐

  1. 深度系统linux15.3 32位下载,deepin 15.3|deepin linux 15.3下载|linux deepin 2016下载-游迅网...

    deepin linux 15.3是Linux发行版,是一款功能强大的操作系统~无论是日常办公,还是休闲娱乐,这款软件都可以完美胜任.系统和应用都简洁统一,给你最舒适的体验.感兴趣的朋友赶紧前来下载体 ...

  2. linux 免费教程下载,Linux系统入门教程

    Linux系统入门教程 (10页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 15.9 积分 Linux系统入门教程(文档资料整理) (2011-08-0 ...

  3. linux系统程序下载,Linux平台的下载程序

    Linux平台的下载程序 发布时间:2008-10-28 09:12:43来源:红联作者:jerry520 在Windows平台下,如NetAnts."网际快车".TelePro等 ...

  4. linux软件手机下载,linux软件下载

    手机评站网今天精心准备的是<linux软件下载>,下面是详解! linux怎么安装软件 希望能帮助我操作一下... 希望能帮助我操作一下 1.打开系统,可以看到桌面,找到软件中心,打开软件 ...

  5. linux f中文版下载,Linux上的杀毒软件F-PROT及下载

    世界杀毒软件界的大牛F-PROT (http://www.f-prot.com/)不但发布win下的杀毒软件,同时也提供了几款很有趣的Linux下的杀毒软件可供下载,而且是免费的. 虽然Linux下病 ...

  6. linux局域网控制软件下载,针对Linux系统的轻量级局域网电脑控制软件:remote安装使用...

    remote是一款支持Linux系统的轻量级局域网远程控制软件,它可以实现远程关机,通过扫码,在手机浏览器页面上对电脑进行控制.是TeamViewer及向日葵远程控制极好的替代软件,remote最大的 ...

  7. linux向日葵控制软件下载链接(有些情况下打不开向日葵官方网站)

    ubuntu18系统下谷歌浏览器打不开向日葵的官方网站https://sunlogin.oray.com/download/ 不知道是哪里的设置问题(猜测是无线网设置问题,屏蔽了这个网站,而且就算下载 ...

  8. linux日志pdf下载,Linux系统下改进的日志采集模块.pdf

    第36卷第6期 电子科技大学学报 Vbl.36No.6 Journal ofElectronicScience of 2007年12月 ofUniversity and China Dec.2007 ...

  9. linux apt qt下载,Linux如何安装 apt-get 软件管理工具

    前言 下面讲解,linux系统下如何进行软件的管理,包括软件的索引安装.更新.卸载删除:本地存储介中软件的安装操作. Linux软件包按封装类型分为3类:Debian : 其文件扩展名为 .deb . ...

最新文章

  1. 去重是distinct还是group by?
  2. GDCM:gdcm::MediaStorage的测试程序
  3. html中怎么显示错误信息,在html中显示为内嵌错误的文本
  4. Win10系统hosts文件不见了的解决方法
  5. uvccamera 后台服务_UVCCamera的一些坑
  6. getUrlParam,jQuery中的URL参数获取
  7. 3D Bounding Box Estimation Using Deep Learning and Geometry
  8. atitit.验证码识别step4--------图形二值化 灰度化
  9. 【OpenCV 例程 300 篇】101. 自适应中值滤波器
  10. 乒乓球单循环赛_乒乓球淘汰赛制和单循环赛制的比赛方法是什么?
  11. 北科大学计算机考研难度,2019二本考上北科计算机专硕经验分享
  12. 计算机怎么找不到视频文件格式,电脑打不开mp4格式的视频怎么办
  13. 人性的弱点 ——戴尔卡耐基(笔记)
  14. 智能PID软件-AVEVA Diagrams创建图纸模板【图瓦软件出品】
  15. windows中常见后门持久化方法总结
  16. MySQL学习(十六):数据类型之日期与时间类型
  17. 计算机科学概论读后感
  18. 薛定谔教程--Glide分子对接 | Ligand Docking
  19. 1D/1D动态规划学习总结
  20. crh寄存器_STM32的GPIO的寄存器介绍和设置

热门文章

  1. QQ2007尾巴病毒实现(一)
  2. 2018年度国产开源软件排行
  3. ❤ javaJDK isn‘t specified for module问题解决
  4. RGB、HSV和HSL颜色空间
  5. 教你新安装oracle11g创建用户名和密码
  6. c语言程序书写注意事项,书写C语言程序的注意事项.doc
  7. freepbx 安装和配置
  8. 【深度之眼吴恩达机器学习第四期】笔记(一)
  9. 吴恩达学习—Logistic Regression
  10. CSS实现图像旋转动态效果