Linux内核使用多个电源管理策略:

  • 动态电压频率缩放(dvf)调整CPU频率和不同的电压取决于系统的负载。的组合一套CPU频率和电压的频率被称为一个操作点。

  • 暂停内存允许系统睡眠等待一个事件。暂停,所有系统设备,包括CPU和内存,进入低功耗模式。在恢复时,系统将继续从相同的状态在前暂停。

  • 关机,使系统停止,直到事件唤醒系统。对权力的权力依然启用,系统是放置在最低消费模式。再次醒来,引导装载程序启动并初始化系统。

动态电压频率扩展

动态电压频率扩展在缺省情况下是启用的,所以CPU频率和电压运行系统将适应系统的负载。dvf子系统通过控制/ sys /设备/系统/ cpu / cpuNcpufreq /sysfs路径,N对应于核心数量:

Sysfs的CPU频率扩展属性
#ls / sys /设备/系统/ cpu / cpu0 / cpufreq / affected_cpus related_cpus scaling_governor cpuinfo_cur_freq scaling_available_frequencies scaling_max_freq cpuinfo_max_freq scaling_available_governors scaling_min_freq cpuinfo_min_freq scaling_cur_freq scaling_setspeed cpuinfo_transition_latency scaling_driver统计数据

scaling_cur_freq文件显示当前频率的核心:

#猫/ sys /设备/系统/ cpu / cpu0 / cpufreq / scaling_cur_freq

可用的频率所示scaling_available_frequencies

#猫/ sys /设备/系统/ cpu / cpu0 / cpufreq / scaling_available_frequencies

dvf子系统可以配置不同的州长,控制其行为。列出可用的州长scaling_available_governors

#猫/ sys /设备/系统/ cpu / cpu0 / cpufreq / scaling_available_governors保守用户空间schedutil powersave调控器的性能
实际产出可能不同,这取决于内核版本/配置。

现任州长所示scaling_governor,默认情况下设置为调控州长。

  • 调控:此调控器定期轮询系统负载调整操作模式。

  • 保守的:类似于ondemand调控器,conservative调控器执行的频率和电压变化更适合电池供电的设备。

  • powersave:此调控器使用的最低可用频率没有动态适应。

  • 用户空间:此调控器允许用户空间选择操作频率。

  • 性能:此调控器使用最高可用频率没有动态适应。

  • schedutil:此调控器使用一个scheduler-driven CPU频率选择。

手动选择一个CPU工作频率
#回波空间> / sys /设备/系统/ cpu / cpu0 / cpufreq / scaling_governor#猫/ sys /设备/系统/ cpu / cpu0 / cpufreq / scaling_available_frequencies 396000 792000 996000 1200000#回声792000 > / sys /设备/系统/ cpu / cpu0 / cpufreq / scaling_setspeed#猫/ sys /设备/系统/ cpu / cpu0 / cpufreq / scaling_cur_freq 792000

暂停内存

Linux内核也可以执行一个暂停内存或暂停内存操作。当进入低功耗模式下,系统状态保存在自我更新的RAM,系统进入功耗模式。系统恢复先前选定的接收中断,恢复以前的状态,从上次和继续运行。通常有一个低功耗模式的深度之间的权衡和系统恢复的速度。

进入休眠模式

进入暂停模式:

  • 运行/bin/standby从命令行或

  • 简要新闻(不到两秒)关键的力量

简历事件

系统可以从任何中断生成事件的简历,包括:

  • PMIC GPIOs

  • PMIC RTC报警

  • 电源键事件

  • 局域网唤醒(如果支持的驱动程序)

默认情况下,电源键事件总是会从暂停注册简历系统。看到配置唤醒来源额外的细节。

关机

Linux内核可以执行关机操作,将电源管理IC (PMIC)关机模式,禁用所有电源,不需要醒来。

进入关机

进入关机模式下,你可以做以下之一:

  • 运行以下命令定时关机从命令行执行关机顺序控制软件。

  • 按下电源键超过两秒钟,但少于9秒,关机顺序执行控制软件。

  • 按下电源键9秒或更长的时间来执行一个无条件的硬件关机(不是由软件控制)。

  • 运行poweroff_safe (- t <超时>)从命令行。它指示MCA迫使系统断电后超时(秒)。如果默认超时时间值是30秒<超时>参数是没有定义的。

醒来的事件

你可以从关机醒来目标PMIC模式与一个中断事件,而不是CPU不会提供动力。这些包括:

  • 电源键事件

  • PMIC GPIOs

  • PMIC RTC报警

系统电源键总是醒来。

配置唤醒来源

从暂停GPIO的简历

CPU GPIOs作为唤醒来源

CPU GPIOs只能作为唤醒来源如果他们被配置为发送一个输入关键事件对系统通过驱动程序等gpio-keys。添加一个条目,这样的设备树:

{……gpio-keys{兼容= " gpio-keys”;权力{标签=“电源键”;gpios = < &gpio2 20 1 >;linux代码= < 116 >;/ * KEY_POWER * / gpio-key唤醒;};};…};
在挂起唤醒系统触发的。触发的系统运行时也发送KEY_POWER事件,这权力系统。

RTC报警的简历

使清债信托公司在60秒后报警触发:

  • 使RTC设备作为唤醒来源:

    #回声启用> / sys /类/ rtc / rtc0 /设备/电力/唤醒
  • 程序的时候闹钟应该触发一个中断(格式是秒时代以来,或者如果有一个领导+秒,在未来,如果有一个领导+ =当前的报警,秒):

    #回声+ 60 > / sys /类/ rtc / rtc0 / wakealarm

以太网局域网唤醒(WOL)

启用以太网作为唤醒来源:

#ethtool - s eth0 wol g

启用验证局域网唤醒:

#猫/ sys /类/net/eth0/power/wakeup启用

暂停系统

#备用

唤醒系统,发送一个WOL数据包从您的主机到设备的MAC地址(您可能需要root权限):

美元etherwake XX: XX: XX: XX: XX: XX

在哪里XX: XX: XX: XX: XX: XX是设备的MAC地址。