
正文
linux电源管理命令 linux 电池管理
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
linux电源管理的一些梳理
由于项目产品需要过能源之星3.0,所以最近做linux电源管理命令了一些电源管理低功耗方面的工作,抽个时间正好梳理一下。
其实Linux 电源管理非常复杂,牵扯到很多方面,比如系统级的待机、频率电压变换、系统空闲时的处理以及每个设备驱动对于系统待机的支持和每个设备的运行时电源管理,可以说和系统中的每个设备驱动也都息息相关。
在Linux内核上有如下的框架支持:
1. CPU 在运行时根据系统负载进行动态电压和频率变换的CPUFreq linux电源管理命令;
2. CPU 在系统空闲时根据空闲的情况进行低功耗模式的CPUIdle ;
3. 多核系统下CPU 的热插拔支持 ;
4. 系统和设备对于延迟的特别需求而提出申请的PMQoS,它会作用于CPUIdle 的具体策略 ;
5. 设备驱动针对系统Suspend to RAM/Disk 的一系列入口函数 ;
6. SoC 进入suspend 状态、SDRAM 自刷新的入口 ;
7. 设备的runtime(运行时)动态电源管理,根据使用情况动态开关设备 ;
8. 底层的时钟、稳压器、频率/电压表(OPP 模块完成)支撑;
Linux电源管理中主要使用的技术包括:
1、CPUFreq : 即DVFS(Dynamic voltage and frequency scaling),即动态电压频率调整。在系统运行时根据系统负载动态调节;
2、DEVFreq:CPUFreq只针对CPU做动态电压频率调节,而devfreq可以对设备,如DRAM,GPU等做动态电压频率调节;
3、CPUIdle:CPU在系统空闲时根据空闲的情况进行低功耗模式,比如C0--C3四个状态对应不同的低功耗策略;
4、CPUHotplug:多核系统下CPU的热插拔支持;
5、PM QOS:主要作用于cpuidle的具体策略,是针对系统和设备对于延迟的特别需求而提出的;
6、SUSPEND:主要有suspend to ram和suspend to disk两种,suspend to ram主要是挂起各设备,并使dram进入自刷新,而suspend to disk就干脆把dram也关掉,直接把状态保存到disk;
7、RUNTIME PM:设备的runtime(运行时)动态电源管理,根据使用情况动态开关设备;
8、Regulator:用于调节CPU等模块的电压和电流值;
9、OPP:可以使SOCs或者Devices正常工作的电压和频率组合。内核提供这一个Layer,是为了在众多的电压和频率组合中,筛选出一些相对固定的组合,从而使事情变得更为简单一些;
10、Thermal:温控管理。
电源管理相关源码在内核树中主要分布于:
kernel/power/ *
drivers/power/
drivers/base/power/*
drivers/cpuidle/*
drivers/cpufreq/*
drivers/devfreq/*
include/linux/power_supply.h
include/linux/cpuidle.h
include/linux/cpufreq.h
include/linux/cpu_pm.h
include/linux/device.h
include/linux/pm.h
include/linux/pm domain.h
include/linux/pm runtime.h
include/linux/pm wakeup.h
include/linux/suspend.h
相关问答
Q1: linux下如何在终端使用命令直接打开系统电源管理的GUI界面?
linux电源管理命令我linux电源管理命令的ubuntu里也装linux电源管理命令了Kde,不过现在在windows下工作,不能切过去,linux电源管理命令我想linux电源管理命令你也可以利用 tab键去试,比如说输入kde后按tab,多按几次,让它列出所有的以kde打头的命令,再从里面找.也可以试试k打头的,power打头的,等等.
Q2: Linux CentOS 7电源管理设置(合盖不睡眠)
Linux 使用哲学(正确而优雅linux电源管理命令的使用方法) 一文中说到linux电源管理命令,正确的使用 Linux 是不安装 Xwindow,而是通过远程 ssh 它。那么当linux电源管理命令我们在一台笔记本上安装好Linux 后,要想将linux电源管理命令他合盖后还能远程访问,就需要修改一下系统的电源相关选项。这里以 CentOS为例
systemd 处理某些电源相关的 ACPI事件,可以通过从 /etc/system/logind.conf 以下选项进行配置:
触发的行为可以有
如果要合盖不休眠只需要把HandleLidSwitch选项设置为如下即可:
注意:设置完成保存后运行下列命令才生效。
Q3: Linux关机命令有哪些
一、linux系统关机命令-shutdown
对于用过XP和win7系统的朋友来说linux电源管理命令,应该对这个关机命令比较熟悉了。当然如果使用shutdown命令来关机的话linux电源管理命令,那么就是系统管理员会提示用户将你所有已经登录的系统全部关闭掉,如果强制使用shutdown命令关机的话可能会导致一些进程上面的数据丢失,严重的话还是涉及到硬件设备出现故障。
在执行shutdown关机命令的时候会将信号signal传递给init程序上,然后将信号更改成runlevel,这样runlevel 0会被用来停机,runlevel 6是用来激活reboot系统,也就是所谓的重启电脑。这样命令都是shutdown在加上所要执行到参数命令让电脑关机。关于shutdown命令不仅能使电脑关机还有其linux电源管理命令他的功能使用。比如:
[-t] 在改变到其它runlevel之前?告诉init多久以后关机。
[-r] 重启计算器。
[-h] 关机后关闭电源〔halt〕
[-n] 不用init?而是自己来关机。不鼓励使用这个选项。
[-time] 设定关机〔shutdown〕前的时间。
二、linux系统关机命令-halt
上面已经说到shutdown -h命令是指关机后然后在关闭电源的命令,在这里如果linux电源管理命令我们执行halt之后,就会将所有进程关闭掉,再执行sync系统调用。等操作完成后即可停止内核的运行。当然halt也是还有其他功能设置。具体参数如下:
[-n] 防止sync系统调用?它用在用fsck修补根分区之后?以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。
[-w] 并不是真正的重启或关机?只是写wtmp〔/var/log/wtmp〕纪录。 [-d] 不写wtmp纪录〔已包含在选项[-n]中〕。
[-f] 没有调用shutdown而强制关机或重启。
[-i] 关机〔或重启〕前?关掉所有的网络接口。
[-p] 该选项为缺省选项。就是关机时调用powerof
三、linux系统关键命令-init
只要我们执行init 0命令的话,就是将计算机关机了。这就是将linux系统关机的命令。当然如果你是想要用init命令来执行重启的话,就是init 1命令了。执行该命令就会将计算机马上重启。
Q4: linux进程的电源管理
这个问题我解决过哦。
用P/Invoke调 API:kernel32.dll中linux电源管理命令的GetSystemPowerStatus函数。函数返回系统的电源状态。状态指数系统是在直流电源还是交流电源下运作linux电源管理命令,电池是否在充电,电池的剩余电量。
先定义结构体:
[StructLayout(LayoutKind.Sequential)]
public struct SYSTEM_POWER_STATUS
{
public byte ACLineStatus;
public byte BatteryFlag;
public byte BatteryLifePercent;
public byte Reserved1;
public int BatteryLifeTime;
public int BatteryFullLifeTime;
}
然后导入外部函数:
[DllImport("kernel32.dll", CharSet=CharSet.Auto, ExactSpelling=true)]
public static extern bool GetSystemPowerStatus(ref SYSTEM_POWER_STATUS systemPowerStatus);
如果调用成功,返回 true,然后分析systemPowerStatus的数据就行。
ACLineStatus为1时,表示正在使用交流电源,为0使用直流电源。
希望能够帮到linux电源管理命令你。
Q5: linux设置电量显示路径
linux设置电量显示路径是linux电源管理命令,
linux不同发行版本,不同的电源管理工具,保存电池剩余电量的文件路径不一。
但存放电池剩余电量信息的文件名称不变linux电源管理命令:capacity
而且可以肯定它在/sys/目录下某处。
因此只需要使用:
# find /sys/ -name capacity -exec cat {} \;
命令便可以获取笔记本的剩余电量,而且这条十分简洁,易于记忆,无需记又臭又长的路径。
(除kali外其它主流发行版本都适用,我也不知道为什么kali就不行 )
如果依然觉得这条命令太长,可以进行以下步骤(略微复杂)
# alias capacity='find /sys/ -name capacity -exec cat {} \;'
来自定义一个capacity命令,然后就可以直接使用
关于linux电源管理命令和linux 电池管理的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







