初学Linux电源管理

学习文档出处:

万字整理 | 深入理解Linux电源管理:万字整理 | 深入理解Linux电源管理-CSDN博客

电源管理

因为设备需要用电,而且设备中的各个硬件所需要的电压是不一样的。故计算机需要对硬件的电源状态管理。但是电能并不是免费的,尤其是手机的电池容量是有限的,就需要节约电量,于是乎电源的省电管理就出来了。但是我们是为了愉快地设备,而不是为了一味省电。故为了平衡性能、用户体验和省电,内核就开发出了电源质量管理,让我们更好地使用设备。下图是电源管理的架构图

1.电源状态管理

|------------------------------|-----------------------------------------------------------------------|
| 电源状态 | 描述 |
| 睡眠/Sleep Suspend To RAM | 一般称STR,睡眠时,内存不断电,信息储存在内存中,可普通外设唤醒 |
| 休眠/Hibernate Suspend to disk | 一般称STD,休眠时,内存断电,信息在swap中,只能电源键唤醒 |
| 关机 | 重启相当于关机再开机,主要init进程进行关闭各个服务进程deamon、发送SIGTERM、SIGKILL、将内存数据同步到磁盘和内核关机 |
| 重启 | 重启相当于关机再开机,主要init进程进行关闭各个服务进程deamon、发送SIGTERM、SIGKILL、将内存数据同步到磁盘和内核关机 |
| 自动睡眠/auto sleep | 也称投机睡眠,内核默认情况总是尝试去睡眠,除非wakelock阻止。即睡眠是常态,运行不是常态 |
[ ]

1.1 睡眠和休眠的共同点

睡眠和休眠的整体过程是相似的,都是暂停系统的运行、保存系统信息、关闭全部或大部分硬件的供电,这样设备不在使用的情况下可以最小功耗运行;当被唤醒时的过程正好相反,先恢复供电,然后恢复系统的运行,再恢复之前保存的信息,这样设备从电源键或其他外设唤醒时,就可以快速切换到进入运行状态了。

2.电源质量管理

2.1 省电管理

我们不使用电脑时可以进行睡眠、休眠甚至关机来进行省电,但是我们使用电脑时也可以有很多办法来省电。这些省电方法又可以分为两类,使用省电和闲暇省电。

2.1.1 CPU频率

Cpu频率架构分为:CPUFreq Govenor决策者、CPUFreq Core中间人和CPUFreq Driver执行者,三者关系是:CPUFreq决策者只能有且仅有一个,负责什么时候调频和调多少,将相应控制指令下发给中间人,中间人负责协调,继续将控制指令下发给CPUFreq执行者,执行者主要与硬件打交道完成相应频率控制。

CPUFreq决策者有6种,每次有且生效其中一个

|--------------------|-------------------------------|
| CPUFreq Govenor决策者 | 描述 |
| powersave | 一直把CPU的频率设置为最大值 |
| performance | 一直把CPU的频率设置为最小值 |
| ondemand | 按需调整,默认运行在较低频率,系统负载增大时就运行在高频率 |
| conservative | 总是把频率往policy的最大值和最小值之间调整 |
| userspace | 按照用户空间设置的值进行调节频率 |
| schedutil | 根据CPU使用率动态调整频率 |
[ ]

2.1.2 闲暇省电

|---------------------|-----------------------------------------------------------------------------------------------------|
| 闲暇省电 | 描述 |
| CPU休闲(CPUIdle) | 指的是当某个CPU上没有进程可调度的时候可以暂时局部关掉这个CPU的电源,从而达到省电的目的,当再有进程需要执行的时候再恢复电源。 |
| CPU热插拔(CPU Hotplug) | 指的是我们可以把某个CPU热移除,然后系统就不会再往这个CPU上派任务了,这个CPU就可以放心地完全关闭电源了,当把这个CPU再热插入之后,就对这个CPU恢复供电,这个CPU就可以正常执行任务了。 |
| CPU隔离(Core Isolate) | CPU隔离指的是我们把某个CPU隔离开来,系统不再把它作为进程调度的目标,这样这个CPU就可以长久地进入Idle状态了,达到省电的目的。CPU隔离能达到一种介于CPUIdle和CPU热插拔之间的效果 |
| 动态PM(Runtime PM) | 设备的动态电源管理,例如手机的夜间睡眠断网功能,待机关闭相机设备 |
[ ]

2.2 电源管理质量 PM Qos

QoS是Quality Of Service(服务质量)平衡省电和性能的关系。

2.2.1 系统级约束-CPU 延迟

CPU延迟是CPU Idle之后从低功耗状态恢复到运行的时间,CPU idle之后可以处于不同的低功耗状态,状态越深越省电,但是恢复的延迟越大。

2.2.2 系统级约束-CPU 降频

CPU频率代表的是CPU运行时的性能,频率越高,性能越强,功耗也越大。故一般进行场景按需降频。

相关推荐
yangfeipancc26 分钟前
ELK的搭建
运维·elk·jenkins
人机与认知实验室33 分钟前
态势感知是自动化,势态知感是智能化
运维·自动化
PyAIGCMaster35 分钟前
自动化之数据库:docker部署mongo,为下一步的使用打下基础
运维·docker·自动化
Minxinbb1 小时前
Zabbix安装,配置模板监控主机(在线安装和离线安装)
linux·zabbix
天天进步20151 小时前
CASL的RBAC用户权限控制实现指南
linux·运维·ubuntu
花糖纸木2 小时前
【Linux】深入理解文件系统(超详细)
linux·运维·服务器
仙海赤2 小时前
c++ 缺省函数
运维·服务器
深度Linux2 小时前
Linux性能优化策略:让你的系统运行如飞
linux·运维·性能优化
希陌ximo3 小时前
4090-L40-A6000
服务器
007php0073 小时前
GoZero项目中解决`go.mod`和`go.sum`校验和不匹配问题的解决方案
java·服务器·开发语言·后端·python·golang·php