Ubuntu 是否支持 Core Parking?

Qas*_*sim 13 acpi multi-core cpu

核心停车是 Windows 7 中引入的一项新功能,用于获得更好的电池性能

根据操作系统的资源使用情况,它可能会停放多核 CPU 的一个或多个内核,以减少计算机的功耗和热排放。一旦操作需要更多的处理能力,停放的核心将再次激活以协助完成任务

所以我的问题是有什么办法可以在 Ubuntu 12.04 “Core Parking”上做到这一点?

Nli*_*tis 9

暂时我还没有一个明确的答案,但是很明显 linux Kernel 正在使用一些节能机制

但是,通过快速研究,我很快意识到最新的 Linux 内核使用了一种称为ACPI的功能,它是Advanced Configuration and Power Interface的首字母缩写词。

ACPI 在做什么:

高级配置和电源接口 (ACPI) 规范为操作系统的设备配置和电源管理提供了一个开放标准。

通过维基百科

基本上 ACPI 允许控制不同的 CPU 状态,以实现更好的电源管理。

不同的 ACPI CPU 状态:

CPU C-States(电源管理)

基本上,关于 CPU 的“C 状态”,您可能不必担心什么。这些由内核+ACPI 系统在考虑当前系统负载的情况下自动控制。(注意:查看下面有关 AMD 速龙和毒龙处理器的说明)。较新的 (2.6+) 内核中的 ACPI 代码会在空闲时间自动让您的 CPU 进入睡眠状态(注意:这不会改变 CPU 频率。这是由“P 状态”控制的 - 见下文)。

唯一要意识到的是,当 CPU 暂时停止时,您的系统是完全“有意识的”——您不会注意到太大的不同。然而,节电可能是可观的。只需将其想象为让您的 CPU 在空闲时进行数千次“小睡”。

CPU-T 状态(节流)

这些非常像“C 状态”(使用相同的 HLT 指令),但不同之处在于节流是“由您强制执行的”(就像每 4 个周期被强制为一个睡眠周期,而不是“C 状态” " 以上由系统负载自动确定)。请注意,频率没有改变……请参阅下面的“P 状态”。

CPU-P 状态(性能)

如今,许多处理器(尤其是笔记本电脑)的时钟频率实际上可以“即时”减慢。这增加了巨大的电力节省。英特尔称之为“SpeedStep”,AMD 称之为“Cool'n'Quiet”或“PowerNow”。更一般地,这些状态被称为“P 状态”。您几乎肯定必须首先进入 BIOS 并为您的 CPU 启用此功能!

** 一些消费基准:**

从上述 CPU 状态节省的电量是多少?以下数据摘自AMD网站。考虑具有 1 MB L2 缓存的 AMD 64 3400+/2200MHz。顺便说一句,当我在这里时,让我抱怨 AMD 命名约定。数字 3400+ 并不意味着深蹲。这只是 AMD 的说法,该处理器“看起来像”运行在 3400MHz 的 Intel Pentium-4。我想这是他们不失去市场份额的方式。这里是P和T状态功耗值(C状态和T状态是同一个HLT指令):

  • 性能状态 0(完全激活)(2200MHz):89 瓦
  • 性能状态 1 (2000MHz):70 瓦
  • 性能状态 2 (800MHz):35 瓦
  • 节流(HLT 指令):2.2 瓦

进一步阅读的一些参考资料

编辑

[编辑 #1]:谷歌搜索,我在一些论坛上也发现了一些其他帖子(OpenSuse 论坛似乎与您寻求的内容相关)发现这对于 Linux 来说并不是一个问题,因为它对于 Windows 和尤其是在游戏中。我还在RedHat 邮件列表中的两封邮件(第一封和第二[follow-up])中挖掘了一些似乎相关的信息。我目前正在研究其中的信息。

[编辑#2]:我对这个问题进行了一些研究,我越来越确定 Linux 中没有核心停放机制,除非有一个我不知道的 ACPI。一些有趣的发现是一些允许直接操作 cpu 和在其上运行的进程的软件,例如cpusetnumactl以及最后但并非最不重要的CPUfreq。将继续我的研究。