Linux(debian7)操作基础(四)之CPU频率调整 Linux系统CPU频率调整工具使用

摘要:
在Linux中,内核的开发人员定义了一组框架模型,以实现动态调整CPU频率的目的,这就是CPUFreq系统。交互式:交互式模式,直接连接到最高频率,然后CPU负载缓慢降低,导致相对较高的功耗。Interactive根据计划的CPU数量来调整频率,以节省电力。InteractiveX根据CPU负载调整CPU频率,而不会过度降低频率。用户空间:用户定义的模式。该系统将变频策略的决策权交给用户模式应用程序,并为用户模式应用提供相应的接口以调整CPU操作频率。

在Linux中,内核的开发者定义了一套框架模型来完成CPU频率动态调整这一目的,它就是CPU Freq系统。如下为CPU的几种模式(governor参数):

ondemand:系统默认的超频模式,按需调节,内核提供的功能,不是很强大,但有效实现了动态频率调节,平时以低速方式运行,当系统负载提高时候自动提高频率。以这种模式运行不会因为降频造成性能降低,同时也能节约电能和降低温度。一般官方内核默认的方式都是ondemand。

interactive:交互模式,直接上最高频率,然后看CPU负荷慢慢降低,比较耗电。Interactive 是以 CPU 排程数量而调整频率,从而实现省电。InteractiveX 是以 CPU 负载来调整 CPU 频率,不会过度把频率调低。所以比 Interactive 反应好些,但是省电的效果一般。

conservative:保守模式,类似于ondemand,但调整相对较缓,想省电就用他吧。Google官方内核,kang内核默认模式。

smartass:聪明模式,是I和C模式的升级,该模式在比interactive 模式不差的响应的前提下会做到了更加省电。

performance:性能模式!只有最高频率,从来不考虑消耗的电量,性能没得说,但是耗电量。

powersave 省电模式,通常以最低频率运行。

userspace:用户自定义模式,系统将变频策略的决策权交给了用户态应用程序,并提供了相应的接口供用户态应用程序调节CPU 运行频率使用。也就是长期以来都在用的那个模式。可以通过手动编辑配置文件进行配置

Hotplug:类似于ondemand, 但是cpu会在关屏下尝试关掉一个cpu,并且带有deep sleep,比较省电。

在进行CPU频率优化之前,我们首先需要使用命令:

lsmod | grep "acpi_cpufreq"

查看内核是否加载了acpi_cpufreq模块,如果加载了此模块,按照一般情况发行版都会将CPU默认设置为 “ondemand”模式。

之后可以通过命令:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors 

来进一步确认CPU节能模式,但此时用户无法进行修改,需要进行修改必须使用命令安装cpufreq管理软件,在Debian Gnu/Linux下使用如下命令:

apt-get install cpufrequtils

之后我们就可以通过修改相应系统所在配置文件,Debian Gnu/Linux 8

/etc/init.d/cpufrequtils

修改Debian Gnu/Linux 8配置文件中:

GOVERNOR="ondemand"
为:

GOVERNOR="performance"

编辑文件,如果不存在就创建一个
vi /etc/default/cpufrequtils
添加如下规则
GOVERNOR="performance"
重启软件使其生效
systemctl restart cpufrequtils

执行命令:/etc/init.d/cpufrequtils restart即可重启相关cpufreq管理软件。

使用cpufrequtils查看调整cpu频率及模式
 
debian安装:

# apt install cpufrequtils
使用:

cpufreq-info 查看当前cpu状态
参数:

参数    值    说明
-c    CPU序号    查看所指定cpu状态
-f         查看cpu当前频率
-l         查看cpu最高频率和最低频率
-p         查看当前cpu模式
-g         查看当前支持的CPU运行模式
-m         带单位的输出
cpufreq-set 设置cpu模式及频率
参数    值    说明
-c    CPU序号    设置修改指定cpu
-d    频率    设置cpu最小运行频率
-u    频率    设置cpu最大运行频率
-g    模式    设置cpu模式
频率支持单位:

Hz kHz MHz GHz

常用CPU模式:

模式    说明
powersave    以最低频率运行cpu
ondemand    程序运行时切换cpu频率到最高,不使用时降低到最低
performance    最高性能模式,以最高频率运行cpu
设置后会马上生效

重启后会失效

可以自己编辑/etc下的开机启动脚本设置开机自动调整CPU

————————————————

从 kernel 3.9 开始,名为 pstate 的新的功率驱动程序将会在以下的驱动程序之前自动为现代的 Intel CPU 启用。该驱动会优先于其他的驱动程序,因为它是内置驱动,而不是作为一个模块来加载。

该驱动自动作用于 Sandy Bridge 和 Ivy Bridge 这两个类型的 CPU,在该模式下CPU只能被设置成performance或者powersave模式。如果您在使用这个驱动的时候遇到问题,建议您在 Grub 的内核参数中对其禁用(即修改 /etc/default/grub 文件,在 GRUB_CMDLINE_LINUX_DEFAULT= 后添加 intel_pstate=disable)


————————————————

原文链接:https://www.cnblogs.com/276815076/p/5434295.html

 

免责声明:文章转载自《Linux(debian7)操作基础(四)之CPU频率调整 Linux系统CPU频率调整工具使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python生成pyd文件开源BI分析工具Metabase配置与完全使用手册下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux /etc/fstab 文件详细说明(整理版)

转至:https://blog.csdn.net/xiaolongwang2010/article/details/8657332?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-1&spm=1001.2101.3001.4242 fstab这个文件...

OpenAcc社区版安装教程(Linux版)(更新版)

官方安装过程如下图所示 1、安装前 下载OpenAcc社区版 1,目前为止的最新版,平台是Linux,选择Linux x86-64. 我的服务器系统是CentOs 下载地址链接:https://www.pgroup.com/products/community.htm 2、安装软件——以一台服务器为例 1,安装前需要一些组件 -- Linux Stan...

Linux下MySQL所在磁盘,线程,内存的配置

磁盘日志策略 /etc/fstab中可以进行正面的配置(其性能按从上到下的顺序排列) data=writeback 只有元数据写入日志.元数据写入与数据写入并不同步.这是最快的配置,对innodb来说通常是安全的,innodb有自己的事务日志.唯一例外是当系统崩溃.frm文件损坏了. data=ordered 这个选项也只会记录元数据,但是会提供一些一致性...

Linux查看机器和硬盘的SN

查看硬件RAID中某块硬盘SN # sas 口: [root@ ~]$ smartctl -a /dev/sda -d megaraid,n *** Serial number: 6RJ974SR *** # sat 口 [root@ ~]$ smartctl -a /dev/sda -d sat+megaraid,n *** Serial numbe...

android 调试 native 程序的方法

一、背景 首先说需求,这个需求非常常见,就是android上需要的一个功能,linux已经有开源代码而且非常稳定,希望能直接porting过去使用,这个程序是pure c 的代码,也就是说,跟android framework, java 没关系,也跟jni没有关系,我们希望的就是能编译成一个可执行工具,push到android后能直接跑起来使用。 既然是...

Linux特殊权限:SUID、SGID、SBIT

1、suid suid 只对二进制程序有效,执行者对于程序需要有x权限,在程序运行过程中,执行者拥有程序拥有者的权限 例如:普通用户执行passwd命令。 a、首先查看passwd命令的绝对路径及passwd命令权限,发现passwd的owner是root,且owner权限里本应是x的那一列显示为s,说明这个命令具有SUID权限。 b、/bin/pass...