CPU工作状态模式详解
CPU 优化建议使用cpupower设置CPU 为Performance模式
CPU动态节能技术用于降低服务器功耗,通过选择系统空闲状态不同的电源管理策略,可以实现不同程度降低服务器功耗,更低的功耗策略意味着CPU唤醒更慢,对性能影响更大。 对于对时延和性能要求较高的应用,建议关闭CPU的动态调节功能,禁止CPU休眠,并把CPU频率固定到最高。 通常建议在服务器BIOS中修改电源管理为Performance,如果 发现CPU模式为conservative或者powersave,可以使用cpupower设置CPU为Performance模式。
cpufreq的五种模式
cpufreq是一个动态调整cpu频率的模块,系统启动时生成一个文件夹 /sys/devices/system/cpu/cpu0/cpufreq,里面有几个文件,其中scaling_min_freq代表最低频率,scaling_max_freq代表最高频率,scalin_governor代表cpu频率调整模式,用它来控制CPU频率。
检查cpu模式
cpupower frequency-info
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
1.performance
只注重效率,将CPU频率固定工作在其支持的最高运行频率上,而不动态调节。
2.Userspace
最早的cpufreq系统通过userspace governor为用户提供了这种灵活性,系统将变频策略的决策权交给了用户态应用程序,并提供了相应的接口供用户态应用程序调节CPU运行频率使用。也就是长期以来都在用的那个模式,可以通过手动编辑配置文件配置。
3.powersave
将CPU频率设置为最低的所谓“省电”模式,CPU会固定工作在其支持的最低运行频率上。因此performace和powersave这两种governors都属于静态governor,即在使用它们时CPU的运行频率不会根据系统运行时的负载的变化动态做出调整。这种governors对应的是两种极端的应用场景。使用performance governor是对系统高性能的最大追求,而使用powersave gover则对系统最低功耗的最大追求。
4.ondemand
按需快速动态调整CPU频率,一有CPU计算量的任务,就会立即达到最大频率运行,等执行完毕就立即回到最低频率。、
userspace是内核态的检测,用户态调整,效率低。而ondemand正是人们长期以来希望看到的一个完全在内核态下工作并且能够以更加细粒度的时间间隔对系统负载情况进行采样分析的governor。在ondemand governor检测到系统负载超过up_threshold所设定的百分比时,说明用户当前需要CPU提供更强大的处理能力,因为ondemand governor会将CPU设置在最高频率上运行,但是当ondemand governor监测到系统负载下降,可以降低CPU支持的可选频率时,到底应该降到那个频率呢?ondemand governor的最初实现是在可选的频率范围内调低至下一个可用频率,例如,CPU支持三个可选频率,分别为1.67GHz,1.33GHz,1GHz,如果CPU运行在1.67GHz时,ondemand governor发现可以降低运行频率,那么1.33GHz将被选座频率的目标频率。
5.conservative:与ondemand不同,平滑地调整CPU频率,频率的升降是渐变式的,会自动在频率上下限调整,和ondemand的区别在于它会按需分配频率,而不是一味追求最高频率。
推荐阅读
-
如何在高通设备上查看并设置GPU与CPU的频率和工作模式?
-
适配器模式详解:让各类组件轻松协同工作的设计秘诀
-
CPU工作状态模式详解
-
理解CPU的C状态与cpuidle驱动器:简单易明的详解
-
简单易懂!详解Linux中CPU频率调节模式与降频操作方法
-
四层架构解析:物联网的工作模式详解
-
【2022新手指南】Java编程进阶之路 - 六、技术架构篇 ### MySQL索引底层解析与优化实战 - 你会讲解MySQL索引的数据结构吗?性能调优技巧知多少? - Redis深度揭秘:你知道多少?从基础到哨兵、主从复制全梳理 - Redis持久化及哨兵模式详解,还有集群搭建和Leader选举黑箱打开 - Zookeeper是个啥?特性和应用场景大公开 - ZooKeeper集群搭建攻略及 Leader选举、读写一致性、共享锁实现细节 - 探究ZooKeeper中的Leader选举机制及其在分布式环境中的作用 - Zab协议深入剖析:原理、功能与在Zookeeper中的核心地位 - RabbitMQ全方位解读:工作模式、消费限流、可靠投递与配置策略 - 设计者视角:RabbitMQ过期时间、死信队列与延时队列实践指南 - RocketMQ特性和应用场景揭示:理解其精髓与差异化优势 - Kafka详细介绍:特性及广泛应用于实时数据处理的场景解析 - ElasticSearch实力揭秘:特性概述与作为搜索引擎的广泛应用 - MongoDB认知升级:非关系型数据库的优势阐述,安装与使用实战教学 - BIO/NIO/AIO网络模型对比:掌握它们的区别与在网络编程中的实际应用 - Netty带你飞:理解其超快速度背后的秘密,包括线程模型分析 - 网络通信黑科技:Netty编解码原理与常用编解码器的应用,Protostuff实战演示 - 解密Netty粘包与拆包现象,怎样有效应对这一常见问题 - 自定义Netty心跳检测机制,轻松调整检测间隔时间的艺术 - Dubbo轻骑兵介绍:核心特性概览,服务降级实战与其实现益处 - Dubbo三大神器解读:本地存根与本地伪装的实战运用与优势呈现 ----------------------- 七、结语与回顾
-
理解通信方式的区别:单工、半双工与全双工详解" - 单工就像在打电话时只能听见对方却说不了话,信息只能由一方传递给另一方。 - 半双工则像马路限行,同一时间只能一辆车通过,发送和接收轮流进行,比如老式对讲机或早期集线器的工作模式。 - 全双工就像在对话中能边说边听,双方都能同时发送和接收数据,现代网卡大多支持全双工,且其使用的电缆比半双工多一根,能提供更快的数据传输速率。 总结来说,数据通信中有3种主要类型: 1. **单工** - 信息只能单向流动,如传呼机; 2. **半双工** - 可双向传输但一次只能一方讲话,如对讲机,需通过切换实现双向通信; 3. **全双工** - 实现真正的双向同时通信,无需切换,如电话,每端均有独立发送和接收功能。
-
理解网络设备的半双工与全双工工作模式:详解差异与原理
-
明白易懂: Ethernet接口的半双工与全双工工作模式详解