如何在 macOS 上启用 CPU 电源管理 [Intel/AMD]

本指南介绍如何使用 Clover 和 OpenCore 在 macOS 上实现 Intel 和 AMD CPU 的 CPU 电源管理。按照本指南操作,您将能够使用 Clover 或 OpenCore 引导加载程序在 macOS 上启用 Intel 或 AMD CPU 电源管理。I

. 概述


要打造一个性能均衡、稳定的系统,CPU 电源管理至关重要。事实上,电源管理应该是系统安装后首先要实现的功能之一。macOS 原生电源管理可提供最佳性能和效率。合适的电源管理功能不仅可以提升 CPU 性能,还能释放 CPU 速度。因此,您可以在满负荷状态下达到 CPU 的全速运行,并达到最高速度。强烈建议您实施电源管理,以获得最佳的 CPU 速度,并避免睡眠/唤醒功能、温度升高和处理速度变慢等问题。如果没有合适的电源管理功能,系统可能无法达到峰值性能,并且在零负载时无法切换到空闲模式。

二、XCPM 与 macOS


随着 OS X Mountain Lion 10.8.5 的发布,苹果电脑开始支持英特尔的 Haswell CPU。与此同时,苹果将 CPU 电源管理从 AppleIntelCPUPowerManagement.kext 移至内核,用于某些 CPU,包括 Haswell。这项技术被称为 XCPM(Xnu CPU 电源管理)。在苹果电脑上,Haswell 及更新的 CPU 会自动启用这项技术,在 Ivy Bridge CPU 上,可以通过-xcpm内核标志选择启用。

然而,如果你深入研究一下,就会发现苹果电脑并没有锁定的 MSR 0xE2 寄存器,但大多数非苹果电脑(包括笔记本电脑)都锁定了该寄存器。当 macOS 内核尝试写入该锁定的寄存器时,会导致内核崩溃。这种崩溃发生在进程的早期,导致启动 macOS 安装程序时出现重启。解决这个问题的一个方法是,我们必须为锁定的 CPU MSR 0xE2 修补 AppleIntelCPUPowerManagement.kext,还必须为使用 XCPM 的 CPU 修补内核,以避免内核崩溃和立即重启。

幸运的是,使用 Clover,无需手动修补,可以使用KernelPmconfig.plist 的 KernelandKextPatches 部分中的选项进行修补,OpenCore 用户可以使用AppleXcpmCfgLockconfig.plist 的 Kernel>Quirks 部分中的选项来实现相同的目的。与手动修补方法不同,每次 macOS 更新后都需要重新修补新内核,Clover 和 OpenCore 使它变得容易得多,并且使用 config.plist 中的这两个选项,您无需担心 macOS 更新。另一个更强大的解决方案是禁用 CFG-Lock,允许 macOS 内核写入 MSR 0xE2 寄存器。请参阅解锁 MSR 0xE2 锁指南以了解更多信息。III

. 要求


以下是在 macOS 上实现 CPU 电源管理的要求。这适用于 Intel 和 AMD。

中央处理器
  • 兼容 macOS 的 CPU,用于 CPU 电源管理。更多信息,请参阅CPU 兼容性。
UEFI/BIOS 设置
  • 正确的 UEFI/BIOS 设置
CPU 设置
  • CPU 时钟应设置为默认值,以标准速度运行。
系统管理BIOS
  • 正确的系统定义/SMBIOS
扩展程序
  • S/L/E 中的原始/本机电源管理扩展。

 

快速信息:

  • 本指南假设您能够将系统启动到 macOS。

四、准备


步骤 1:设置 BIOS/UEFI

第一步是设置 BIOS,确保系统电源管理正常工作。请按照以下步骤设置 CPU 的 BIOS。

(a). Intel BIOS 设置

设置 价值 笔记
超线程 已启用
英特尔睿频加速技术 已启用
速度步骤 已启用
CPU P 状态 自动/启用
CPU C 状态 自动/启用

(b). AMD BIOS 设置

在 AMD 系统上,只需将 BIOS 重置为默认值即可。

笔记:

  • 根据您的硬件供应商,BIOS/UEFI 中可能并非所有设置都可用。如果某个设置不可用,请跳过该设置。
  • 以上设置仅适用于 CPU。有关 BIOS 设置的更多信息,请参阅下方链接的帖子。

步骤 2:移除过时的内核扩展程序和注入程序。

设置好 BIOS 后,下一步是移除可能干扰电源管理实现的内核扩展程序和注入程序。请按照以下步骤操作。

内核扩展程序移除:
如果您使用的是 NullCPUPowerManagement,建议将其移除。请参阅以下说明。1

. 安装您的 ESP
2. 移除NullCPUPowerManagement.kext

笔记:

  • 如果您使用的是 OpenCore,您还需要从 config.plist 中的内核部分删除 kext 条目
  • 对于 Catalina 及之前版本,请确保这些 kext 不存在于 Library/Extensions 或 System/Library/Extensions 中。

Clover 属性和注入
如果您正在使用 Clover,则需要禁用 Clover 属性和注入。

1. 安装您的 ESP
2. 打开您的config.plist并从各自的部分禁用和/或删除以下内容

禁用生成选项可以在部分
中禁用生成选项Acpi>Generate

  • 生成 PStates
  • 生成 CState
  • 插件类型

步骤 3:设置 SMBIOS

下一步是根据您的 CPU 型号设置正确的系统定义 (SMBIOS)。要设置 SMBIOS,请按照以下链接的指南进行操作

五、英特尔CPU电源管理


由于 Apple 支持 Intel CPU,在使用 Intel CPU 的非 Apple 电脑上启用电源管理变得容易得多。过去,由于热量/噪音和电池寿命问题,使用电源管理NullCPUPowerManagement.kext并非合适的解决方案。自从 Clover 推出后,它就不再需要了。通过拥有最佳的 BIOS/UEFI 设置,关闭 SMBIOS 并将 PluginType=YES 是轻松实现有效电源管理的唯一方法。自 OpenCore 发布以来,人们的想法是使用 SSDT-PLUG,它会设置 PluginType+YES。要为您的 AMD CPU 启用 CPU 电源管理,请按照以下步骤操作。

对于 Sandy Bridge 及更高版本的系统,原生电源管理通过 IOPlatformPluginFamily.kext 中的插件启用ACPI_SMC_PlatformPlugin.kext。对于 Ivy Bridge CPU,原生电源管理通过 1 启用X86PlatformPlugin.kext

。Ivy Bridge 及更早的版本


本节适用于 Ivy Bridge 及更早版本的 CPU。对于 Haswell 及更高版本的 CPU,请参阅下文 Haswell 及更高版本的部分。

步骤 1:删除 OEM 表

在某些 Sandy Bridge 和 Ivy Bridge 系统上,您可能需要删除CpuPmOEMCpu0Ist表以避免AppleIntelCPUPowerManagement.kext在启动 macOS/OS X 安装程序或系统时出现内核崩溃(见下文)。但是,由于 Windows 中的 Turbo Boost 功能已损坏,删除这些表会产生负面影响。为了解决这个问题,我们需要使用 ssdtPRGen 创建 CPU-PM SSDT,然后才能保留 OEM 表。

1. 安装您的 ESP
2. 打开您的 config.plist
3. 根据您使用的引导加载程序,将以下内容添加到您的 config.plist

对于 OpenCore ,导航到 ACPI 部分并对下一部分
实施以下更改。config.plistACPI>Delete

表格签名 OemTableId 表长度 评论 全部 已启用
SSDT 437075506d 降低 CpuPm 是的
SSDT 43707530497374 删除 Cpu0Ist 是的

对于 Clover,导航到 ACPI 部分并在您的 部分
下实施以下更改。ACPI>Drop Tablesconfig.plist

签名 类型/键 字符串[TableId]/数字[长度]
SSDT 表编号 处理器频率
SSDT 表编号 Cpu0Ist

4.保存你的config.plist

快速信息:

  • 通常情况下,系统会将CpuPmCpu0Ist作为 OEM 表 ID,但根据系统的不同,OEM 表 ID 可能会有所不同。在这种情况下,您需要配置一些额外的参数。
  • 如果您不想删除 OEM 表,您可以在的Quirks>Kernel>Emulate部分(Clover)和部分(OpenCore)中使用 DummyPowerManagement 。Kernel>Emulateconfig.plist

步骤 2:创建电源管理 SSDT

完成上述步骤后,对于 Ivy Bridge 及更老版本的 CPU,第一步是使用 ssdtPRGen 脚本创建电源管理 SSDT。要创建电源管理 SSDT,请按照以下步骤操作

步骤 3:启用 OEM 表。

创建 CPU-PM SSDT 后,您可以重新启用在步骤 1 中禁用的 OEM 表。要启用 OEM 表,只需删除在步骤 1 中创建的条目即可。

步骤 4:修补 MSR 锁

下一步是修补 MSR 锁。修补 MSR 锁的方法有很多种,下文已介绍。请仅选择其中一种,不要同时使用。

快速信息:

  • 只有已锁定 MSR 的主板才需要解锁 MSR。如果您的主板已解锁 MSR,请跳过此步骤。
  • 如果您的主板是 MSR 解锁的,请勿修补 MSR。通常,华硕和华擎主板的 MSR 都是解锁的。请在继续操作前进行检查。

要验证您的主板是否有 MSR 锁,请按照下面链接的指南进行操作。

方法一:使用 Bootloader 补丁
要修复 MSR 锁,请按照以下步骤操作。

1. 安装你的 ESP 板。

对于 Clover 系统
: 1. 下载 Clover 配置器
2. 使用 Clover 配置器打开你的 config.plist 文件
3.config.plist 文件的部分AppleIntelCPUPM中config.plist 文件的部分 禁用Quirk 5. 保存你的 config.plist 文件Kernel and Kext Patches
DummyPowerManagementQuirks>Kernel

笔记:

  • 如果您的主板上的 MSR 0xE2 已解锁,请禁用此AppleIntelCPUPM选项。有关更多信息,请参阅MSR 解锁。

对于 OpenCore
1. 下载 OC Auxiliary Tools
2. 使用 OC Auxiliary Tools 打开你的 config.plist。3config.plist 的部分中
禁用config.plist 的部分 启用Quirk 5. 保存你的 config.plistDummyPowerManagementKernel>Emulate
AppleCpuPmCfgLockKernel>Quriks

笔记:

  • 如果您的主板上的 MSR 0xE2 已解锁,请禁用AppleCpuPmCfgLockQuirk。有关更多信息,请参阅MSR 解锁。

方法二:使用变量补丁
。这是解锁 MSR 锁的首选方法。不过,此方法更适合高级用户,需要修补 BIOS 或解锁变量。您可以在下方链接的指南中找到所有这些方法。

步骤 5:重启系统

完成上述所有步骤后,请重启系统以使应用的更改生效。
重启系统后,电源管理将在目标系统上正常运行。2

. Haswell 及更新版本


本节适用于 Haswell 及更新的 CPU。对于 Ivy Bridge 及更早版本的 CPU,请参阅 Ivy Bridge 及更早版本部分了解更多信息。

步骤 1:添加 PM SSDT

下一步是添加 CPU PM SSDT,并将 PluginType 设置为 YES。该 SSDT 可用于 Clover 和 OpenCore。要添加 CPU PM SSDT,请按照以下步骤操作

1. 从本论坛的下载区下载 OpenCore 引导加载程序。
2
. 解压 OpenCorePkg
3. 挂载您的 ESP

对于 Clover:
如果您使用的是 Clover,请SSDT-PLUG.aml从目录OpenCore-0.X.X-RELEASE/Docs/AcpiSamples/BinariesEFI/Clover/ACPI/patched目录。

对于 OpenCore:
如果您使用的是 OpenCore,请SSDT-PLUG.aml从目录OpenCore-0.X.X-RELEASE/Docs/AcpiSamples/BinariesEFI/OC/ACPI目录。您还需要在ACPI>Addconfig.plist 文件

笔记:

  • Alder Lake 和 Raptor Lake 用户需要使用SSDT-PLUG-ALT.amlSSDT-PLUG.aml
  • SSDT-PLUG-ALT.aml 位于 OpenCore-0.XX-RELEASE/Docs/AcpiSamples/Binaries 目录中
  • 从 macOS Monterey 12.3 及更高版本开始,SSDT-PLUG.aml可能不需要。

步骤 2:修改 config.plist

下一步是修改 config.plist。您需要做的就是在 config.plist 中启用一些补丁和/或 Quirks。要添加它们,请按照以下步骤操作。1

. 挂载您的 ESP。

对于 Clover
1. 下载 Clover Configurator
2. 使用 Clover Configurator 打开您的 config.plist在config.plist 的某个部分
启用config.plist 的某个部分 禁用Quirks 5. 保存您的 config.plistKernelPmKernel and Kext Patches
DummyPowerManagementQuirks>Kernel

笔记:

  • 如果您的主板上的 MSR 0xE2 已解锁,请禁用此KernelPm选项。有关更多信息,请参阅MSR 解锁。
  • 如果您使用的是 Alder Lake CPU,则需要在config.plist 部分ProvideCurrentCpuInfo中启用 QuirkQuirks>Kernel

对于 OpenCore
1. 下载 OC Auxiliary Tools
2. 使用 OC Auxiliary Tools 打开你的 config.plist。3config.plist 的部分中
禁用config.plist 的部分 启用Quirk 5. 保存你的 config.plistDummyPowerManagementKernel>Emulate
AppleXcpmCfgLockKernel>Quriks

笔记:

  • 如果 MSR 0xE2 已解锁,请禁用AppleXcpmCfgLockQuirk。有关更多信息,请参阅MSR 解锁。
  • 如果您使用的是 Alder Lake CPU,则需要在config.plist 部分ProvideCurrentCpuInfo中启用 QuirkKernel>Quirks

步骤 3:重启系统

完成上述所有步骤后,请重启系统以使应用的更改生效。
重启系统后,目标系统上的电源管理功能即可正常工作。

六、AMD CPU 电源管理


虽然官方不支持 AMD CPU,因此 macOS 官方不支持 AMD CPU 上的 CPU 电源管理。然而,在社区的努力下,在 AMD CPU 上实现 CPU 电源管理是可能的。其原理与 Intel CPU 非常相似,但需要额外几个步骤。要为您的 AMD CPU 启用 CPU 电源管理,请按照以下步骤操作。

步骤 1:添加 PM 扩展程序

第一步是添加所需的扩展程序以启用电源管理。

快速信息:

  • 此步骤仅适用于 AMD Ryzen CPU。
  • AMDRyzenCPUPowerManagement 必须在必要的 kexts 之后加载。

1.AMDRyzenCPUPowerManagement.kext从本论坛的下载部分下载。
2. 安装您的 ESP。

对于 Clover:
如果您使用的是 Clover,请将 kext 复制到EFI/Clover/Kext/Others

对于 OpenCore:
如果您使用的是 OpenCore,请将 kext 复制到EFI/OC/Kexts。您还需要在 config.plist 的内核部分添加 kext 条目。

3. 保存您的 config.plist

第 2 步:配置 Quirks

下一步是配置 quirk。要添加,请按照以下步骤操作。

1. 安装您的 ESP。

对于 Clover
1. 下载 Clover Configurator
2. 使用 Clover Configurator 打开您的 config.plist 3. 在您的 config.plist 部分中
启用 4. 保存您的 config.plist对于 OpenCore 1. 下载 OC Auxiliary Tools 2. 使用 OC Auxiliary Tools 打开您的 config.plist。 3.在config.plist 部分启用 4. 保存 config.plist步骤 3:重启系统 完成以上所有步骤后,请重启系统以使应用的更改生效。 重启系统后,目标系统上的电源管理功能将正常运行。VII . 验证 CPU 电源管理DummyPowerManagementQuirks>Kernel

DummyPowerManagementKernel>Emulate


下一步是验证 CPU 电源管理是否正常工作。下载

IOReg 并打开。Intel Ivy Bridge、老款 Haswell 和新款 IOReg

  • 验证plugin-type属性。plugin-type 属性位于 CPU 节点下。
  • 验证 的加载X86PlatformPlugin。X86PlatformPlugin 位于 CPU 节点下。

终端

  • 使用终端中的命令验证 XCPM 模式sysctl machdep.xcpm.mode。如果命令返回1,则表示 XCPM 模式已激活。
  • 验证 X86PlatformPlugin.kext 是否已加载。
  • 验证 AppleIntelCPUPM 是否已加载。如果命令返回空结果,则符合预期。
  • 使用终端中的命令验证 XCPM 频率向量是否已加载sysctl -n machdep.xcpm.vectors_loaded_count。如果命令返回1,则表示 XCPM 频率向量已正确加载。

AMD

IO注册

  • 验证plugin-type属性。plugin-type 属性位于 CPU 节点下。
  • 验证 的加载X86PlatformPlugin。X86PlatformPlugin 位于 CPU 节点下。
  • 验证加载AMDRyzenCPUPowerManagement

 

 

八、测试电源管理


重启后,您可以测试电源管理。测试电源管理有两种方法,如下所述。

1. 使用 AppleIntelInfo。

您可以使用 XCode 编译AppleIntelInfo.kext,也可以从附件中下载。

1. 下载 AppleIntelInfo.kext 并将其解压到您的桌面
2. 打开终端并执行以下命令。出现提示时,请输入您的密码。

代码:
#Load AppleIntelInfo.kext
sudo kextload /Users/yourusername/Desktop/AppleIntelInfo.kext
笔记:

  • 如果在加载 kext 时出现错误,请按照以下步骤操作。

 

代码:
#Modify Permissions
sudo chown -R root:wheel ~/Desktop/AppleIntelInfo.kext
sudo chmod -R 755 ~/Desktop/AppleIntelInfo.kext

 

从步骤 3 继续

。4. 输入:

代码:
sudo cat /tmp/AppleIntelInfo.dat

出现提示时,输入密码。5
. 电源状态将显示在终端中。6
. 现在,进行一些基准测试来测试系统。7
. 重新检查电源状态。AppleIntelInfo.kext

输出

代码:
AppleIntelInfo.kext v1.4 Copyright © 2012-2015 Pike R. Alpha. All rights reserved

Settings:
------------------------------------
logMSRs............................: 1
logIGPU............................: 1
logIntelRegs.......................: 1
logCStates.........................: 1
logIPGStyle........................: 1
InitialTSC.........................: 0x10a77f324eb
MWAIT C-States.....................: 286531872

Model Specific Regiters
------------------------------------
MSR_CORE_THREAD_COUNT......(0x35) : 0x40008
MSR_PLATFORM_INFO..........(0xCE) : 0x4043DF1011200
MSR_PMG_CST_CONFIG_CONTROL.(0xE2) : 0x1E008008
MSR_PMG_IO_CAPTURE_BASE....(0xE4) : 0x51814
IA32_MPERF.................(0xE7) : 0x4680F3D6A
IA32_APERF.................(0xE8) : 0x271CEF7AB6
MSR_FLEX_RATIO.............(0x194) : 0x0
MSR_IA32_PERF_STATUS.......(0x198) : 0x1B4100001900
MSR_IA32_PERF_CONTROL......(0x199) : 0xA00
IA32_CLOCK_MODULATION......(0x19A) : 0x0
IA32_THERM_STATUS..........(0x19C) : 0x88390000
IA32_MISC_ENABLES..........(0x1A0) : 0x850089
MSR_MISC_PWR_MGMT..........(0x1AA) : 0x401CC1
MSR_TURBO_RATIO_LIMIT......(0x1AD) : 0x22222222
IA32_ENERGY_PERF_BIAS......(0x1B0) : 0x5
MSR_POWER_CTL..............(0x1FC) : 0x24005F
MSR_RAPL_POWER_UNIT........(0x606) : 0xA0E03
MSR_PKG_POWER_LIMIT........(0x610) : 0x42816000DD8090
MSR_PKG_ENERGY_STATUS......(0x611) : 0x15D41C3
MSR_PKG_POWER_INFO.........(0x614) : 0x78
MSR_PP0_CURRENT_CONFIG.....(0x601) : 0x238
MSR_PP0_POWER_LIMIT........(0x638) : 0x0
MSR_PP0_ENERGY_STATUS......(0x639) : 0x8988B9
MSR_PP0_POLICY.............(0x63a) : 0x0
MSR_PKGC6_IRTL.............(0x60b) : 0x8876
MSR_PKG_C2_RESIDENCY.......(0x60d) : 0x3FA7E14C84
MSR_PKG_C3_RESIDENCY.......(0x3f8) : 0x8D822839A6
MSR_PKG_C6_RESIDENCY.......(0x3f9) : 0x0
IA32_TSC_DEADLINE..........(0x6E0) : 0x10A7A9B6C2E
PCH device.................: 0x9D4E8086

Intel Register Data
------------------------------------
CPU_VGACNTRL...............: 0x0
IS_ELSE(devid)
DCC........................: 0x000a3162 ()
CHDECMISC..................: 0x00000898 (none, ch2 enh enabled, ch1 enh enabled, ch0 enh disabled, flex disabled, ep not present)
C0DRB0.....................: 0x000a3162 (0x3162)
C0DRB1.....................: 0x0000000a (0x000a)
C0DRB2.....................: 0x00000000 (0x0000)
C0DRB3.....................: 0x4c900000 (0x0000)
C1DRB0.....................: 0x16ad3db0 (0x3db0)
C1DRB1.....................: 0xff8016ad (0x16ad)
C1DRB2.....................: 0xffffff80 (0xff80)
C1DRB3.....................: 0x5180ffff (0xffff)
C0DRA01....................: 0x164a4c90 (0x4c90)
C0DRA23....................: 0xff80164a (0x164a)
C1DRA01....................: 0x16d85180 (0x5180)
C1DRA23....................: 0xff8016d8 (0x16d8)
PGETBL_CTL.................: 0x00000000
VCLK_DIVISOR_VGA0..........: 0x00050004 (n = 5, m1 = 0, m2 = 4)
VCLK_DIVISOR_VGA1..........: 0x00000000 (n = 0, m1 = 0, m2 = 0)
VCLK_POST_DIV..............: 0x04004018 (vga0 p1 = 26, p2 = 2, vga1 p1 = 2, p2 = 2)
DPLL_TEST..................: 0x00000030 (, DPLLA input buffer disabled, DPLLB input buffer disabled)
CACHE_MODE_0...............: 0x09070138
D_STATE....................: 0x00000101
DSPCLK_GATE_D..............: 0x00000000 (clock gates disabled:)
RENCLK_GATE_D1.............: 0x0000000f
RENCLK_GATE_D2.............: 0x00000000
SDVOB......................: 0x00000000 (disabled, pipe A, stall disabled, not detected)
SDVOC......................: 0x00000136 (disabled, pipe A, stall disabled, detected)
SDVOUDI....................: 0x00000000
DSPARB.....................: 0x00000000
FW_BLC.....................: 0x5ce0e8c8
FW_BLC2....................: 0x00007fff
FW_BLC_SELF................: 0x0034009e
DSPFW1.....................: 0x00000000
DSPFW2.....................: 0x00000000
DSPFW3.....................: 0x00000000
ADPA.......................: 0x00000136 (disabled, pipe A, -hsync, +vsync)
LVDS.......................: 0x0000002c (disabled, pipe A, 18 bit, 2 channels)
DVOA.......................: 0x0000021a (disabled, pipe A, no stall, +hsync, +vsync)
DVOB.......................: 0x00000000 (disabled, pipe A, no stall, -hsync, -vsync)
DVOC.......................: 0x00000136 (disabled, pipe A, no stall, -hsync, +vsync)
DVOA_SRCDIM................: 0x00000000
DVOB_SRCDIM................: 0x00000000
DVOC_SRCDIM................: 0x00000000
BLC_PWM_CTL................: 0x00007fd0
BLC_PWM_CTL2...............: 0x9aa131d0
PP_CONTROL.................: 0x00000000 (power target: off)
PP_STATUS..................: 0x00000000 (off, not ready, sequencing idle)
PP_ON_DELAYS...............: 0x9aa01d90
PP_OFF_DELAYS..............: 0x00007fd0
PP_DIVISOR.................: 0x00000004
PFIT_CONTROL...............: 0x00000004
PFIT_PGM_RATIOS............: 0x00000136
PORT_HOTPLUG_EN............: 0x00000000
PORT_HOTPLUG_STAT..........: 0x00000000
DSPACNTR...................: 0x00000000 (disabled, pipe A)
DSPASTRIDE.................: 0x5d001fe0 (1560289248 bytes)
DSPAPOS....................: 0x00007f8f (32655, 0)
DSPASIZE...................: 0x090371a8 (29097, 2308)
DSPABASE...................: 0x00000000
DSPASURF...................: 0x00000000
DSPATILEOFF................: 0x00000000
PIPEACONF..................: 0x00000000 (disabled, single-wide)
PIPEASRC...................: 0x00007fff (1, 32768)
PIPEASTAT..................: 0x00007f8f (status: CRC_ERROR_INT_STATUS CRC_DONE_INT_STATUS GMBUS_INT_STATUS VSYNC_INT_STATUS DLINE_COMPARE_STATUS DPST_EVENT_STATUS SVBLANK_INT_STATUS VBLANK_INT_STATUS OREG_UPDATE_STATUS)
PIPEA_GMCH_DATA_M..........: 0x09037068
PIPEA_GMCH_DATA_N..........: 0x00000001
PIPEA_DP_LINK_M............: 0x00000000
PIPEA_DP_LINK_N............: 0x00000000
CURSOR_A_BASE..............: 0x00000000
CURSOR_A_CONTROL...........: 0x00000000
CURSOR_A_POSITION..........: 0x00000000
FPA0.......................: 0x00000388 (n = 0, m1 = 3, m2 = 8)
FPA1.......................: 0x00000000 (n = 0, m1 = 0, m2 = 0)
DPLL_A.....................: 0x00005010 (disabled, non-dvo, VGA, TV B/C clock, unknown mode, p1 = 0, p2 = 0)
DPLL_A_MD..................: 0x00000000
HTOTAL_A...................: 0x00000000 (1 active, 1 total)
HBLANK_A...................: 0x00000000 (1 start, 1 end)
HSYNC_A....................: 0x8e766c88 (27785 start, 36471 end)
VTOTAL_A...................: 0x00007fff (32768 active, 1 total)
VBLANK_A...................: 0x00000060 (97 start, 1 end)
VSYNC_A....................: 0x00000000 (1 start, 1 end)
BCLRPAT_A..................: 0x00000000
VSYNCSHIFT_A...............: 0x00000000
DSPBCNTR...................: 0x09038198 (disabled, pipe B)
DSPBSTRIDE.................: 0x00000000 (0 bytes)
DSPBPOS....................: 0x00000000 (0, 0)
DSPBSIZE...................: 0x00000000 (1, 1)
DSPBBASE...................: 0x00000001
DSPBSURF...................: 0x00000000
DSPBTILEOFF................: 0x00007f8f
PIPEBCONF..................: 0x00000000 (disabled, single-wide)
PIPEBSRC...................: 0x00000000 (1, 1)
PIPEBSTAT..................: 0x00000000 (status:)
PIPEB_GMCH_DATA_M..........: 0x00000000
PIPEB_GMCH_DATA_N..........: 0x00000000
PIPEB_DP_LINK_M............: 0x5d001fe0
PIPEB_DP_LINK_N............: 0x00007f8f
CURSOR_B_BASE..............: 0x00007f8f
CURSOR_B_CONTROL...........: 0x5d001fe0
CURSOR_B_POSITION..........: 0x090370e0
FPB0.......................: 0x00000388 (n = 0, m1 = 3, m2 = 8)
FPB1.......................: 0x00000000 (n = 0, m1 = 0, m2 = 0)
DPLL_B.....................: 0x00000000 (disabled, non-dvo, VGA, default clock, unknown mode, p1 = 0, p2 = 0)
DPLL_B_MD..................: 0x00000000
HTOTAL_B...................: 0x00000000 (1 active, 1 total)
HBLANK_B...................: 0x00000000 (1 start, 1 end)
HSYNC_B....................: 0x9a909670 (38513 start, 39569 end)
VTOTAL_B...................: 0x00007fd0 (32721 active, 1 total)
VBLANK_B...................: 0x0000004c (77 start, 1 end)
VSYNC_B....................: 0x0000010b (268 start, 1 end)
BCLRPAT_B..................: 0x00000000
VSYNCSHIFT_B...............: 0x00000004
VCLK_DIVISOR_VGA0..........: 0x00050004
VCLK_DIVISOR_VGA1..........: 0x00000000
VCLK_POST_DIV..............: 0x04004018
VGACNTRL...................: 0x09038418 (enabled)
TV_CTL.....................: 0x5c5024a0
TV_DAC.....................: 0x00007fff
TV_CSC_Y...................: 0x879468a8
TV_CSC_Y2..................: 0x00007fff
TV_CSC_U...................: 0x8f2d00f0
TV_CSC_U2..................: 0x00007fff
TV_CSC_V...................: 0x8f2d00f0
TV_CSC_V2..................: 0x00007fff
TV_CLR_KNOBS...............: 0x5c5024a0
TV_CLR_LEVEL...............: 0x00007fff
TV_H_CTL_1.................: 0x00000000
TV_H_CTL_2.................: 0x00000000
TV_H_CTL_3.................: 0x87946730
TV_V_CTL_1.................: 0x00007fff
TV_V_CTL_2.................: 0x87b67068
TV_V_CTL_3.................: 0x00007fff
TV_V_CTL_4.................: 0x8f2d0140
TV_V_CTL_5.................: 0x00007fff
TV_V_CTL_6.................: 0x5c5024a0
TV_V_CTL_7.................: 0x00007fff
TV_SC_CTL_1................: 0x87946e00
TV_SC_CTL_2................: 0x00007fff
TV_SC_CTL_3................: 0x8f2d00f0
TV_WIN_POS.................: 0x8f2d00f0
TV_WIN_SIZE................: 0x00007fff
TV_FILTER_CTL_1............: 0x00000000
TV_FILTER_CTL_2............: 0x00000000
TV_FILTER_CTL_3............: 0x87946ca8
TV_CC_CONTROL..............: 0x87b67130
TV_CC_DATA.................: 0x00007fff
TV_H_LUMA_0................: 0x87952868
TV_H_LUMA_59...............: 0x00000000
TV_H_CHROMA_0..............: 0x8f2d00f0
TV_H_CHROMA_59.............: 0x00007fff
FBC_CFB_BASE...............: 0x09071218
FBC_LL_BASE................: 0x00000001
FBC_CONTROL................: 0x00000000
FBC_COMMAND................: 0x00000000
FBC_STATUS.................: 0x00000000
FBC_CONTROL2...............: 0x00000000
FBC_FENCE_OFF..............: 0x00000000
FBC_MOD_NUM................: 0x5d001fe0
MI_MODE....................: 0x00000000
MI_ARB_STATE...............: 0x00000000
MI_RDRET_STATE.............: 0x00000001
ECOSKPD....................: 0x00000000
DP_B.......................: 0x00000000
DPB_AUX_CH_CTL.............: 0x00000000
DPB_AUX_CH_DATA1...........: 0x00000000
DPB_AUX_CH_DATA2...........: 0x00000000
DPB_AUX_CH_DATA3...........: 0x00000000
DPB_AUX_CH_DATA4...........: 0x00000000
DPB_AUX_CH_DATA5...........: 0x00000000
DP_C.......................: 0x00050004
DPC_AUX_CH_CTL.............: 0x04004010
DPC_AUX_CH_DATA1...........: 0x00005010
DPC_AUX_CH_DATA2...........: 0x3b220230
DPC_AUX_CH_DATA3...........: 0x00007fc0
DPC_AUX_CH_DATA4...........: 0x3b2202a0
DPC_AUX_CH_DATA5...........: 0x00007fc0
DP_D.......................: 0x00000000
DPD_AUX_CH_CTL.............: 0x88217709
DPD_AUX_CH_DATA1...........: 0x001dffff
DPD_AUX_CH_DATA2...........: 0x00001280
DPD_AUX_CH_DATA3...........: 0x00000001
DPD_AUX_CH_DATA4...........: 0x00050005
DPD_AUX_CH_DATA5...........: 0x00000003
AUD_CONFIG.................: 0x00000000
AUD_HDMIW_STATUS...........: 0x00000000
AUD_CONV_CHCNT.............: 0x00000000
VIDEO_DIP_CTL..............: 0x00000000
AUD_PINW_CNTR..............: 0x00000000
AUD_CNTL_ST................: 0x00000000
AUD_PIN_CAP................: 0x00000000
AUD_PINW_CAP...............: 0x00000000
AUD_PINW_UNSOLRESP.........: 0x00000000
AUD_OUT_DIG_CNVT...........: 0x00000000
AUD_OUT_CWCAP..............: 0x00000000
AUD_GRP_CAP................: 0x00000000
FENCE 0...................: 0x5d001fe0 (disabled)
FENCE 1...................: 0x00007f8f (enabled, Y tiled, 128 pitch, 0x00000000 - 0x08000000 (131072kb))
FENCE 2...................: 0x09070020 (disabled)
FENCE 3...................: 0x00000001 (enabled, X tiled, 512 pitch, 0x00000000 - 0x00100000 (1024kb))
FENCE 4...................: 0x00000000 (disabled)
FENCE 5...................: 0x00000000 (disabled)
FENCE 6...................: 0x00000000 (disabled)
FENCE 7...................: 0x00000000 (disabled)
FENCE 8...................: 0x00000000 (disabled)
FENCE 9...................: 0x00000000 (disabled)
FENCE 10..................: 0x00000000 (disabled)
FENCE 11..................: 0x00000000 (disabled)
FENCE 12..................: 0x00000000 (disabled)
FENCE 13..................: 0x00000000 (disabled)
FENCE 14..................: 0x5d001fe0 (disabled)
FENCE 15..................: 0x00007f8f (enabled, Y tiled, 128 pitch, 0x00000000 - 0x08000000 (131072kb))
FENCE START 0..............: 0x00000000 ()
FENCE END 0................: 0x00000000 ()
FENCE START 1..............: 0x00000000 ()
FENCE END 1................: 0x00000000 ()
FENCE START 2..............: 0x00000000 ()
FENCE END 2................: 0x00000000 ()
FENCE START 3..............: 0x5d001fe0 ()
FENCE END 3................: 0x00007f8f ()
FENCE START 4..............: 0x09071038 ()
FENCE END 4................: 0x00000001 ()
FENCE START 5..............: 0x00000000 ()
FENCE END 5................: 0x00000000 ()
FENCE START 6..............: 0x00000000 ()
FENCE END 6................: 0x00000000 ()
FENCE START 7..............: 0x00000000 ()
FENCE END 7................: 0x00000000 ()
FENCE START 8..............: 0x5d001fe0 ()
FENCE END 8................: 0x00007f8f ()
FENCE START 9..............: 0x09071060 ()
FENCE END 9................: 0x00000001 ()
FENCE START 10.............: 0x00000000 ()
FENCE END 10...............: 0x00000000 ()
FENCE START 11.............: 0x00000000 ()
FENCE END 11...............: 0x00000000 ()
FENCE START 12.............: 0x00000000 ()
FENCE END 12...............: 0x00000000 ()
FENCE START 13.............: 0x5d001fe0 ()
FENCE END 13...............: 0x00007f8f ()
FENCE START 14.............: 0x09071088 ()
FENCE END 14...............: 0x00000001 ()
FENCE START 15.............: 0x00000000 ()
FENCE END 15...............: 0x00000000 ()
INST_PM....................: 0x00000000
p1 out of range
ref out of range
pipe A dot 0 n 0 m1 3 m2 8 p1 1 p2 10
p1 out of range
pipe B dot 168000 n 0 m1 3 m2 8 p1 1 p2 10

CPU Ratio Info:
------------------------------------
CPU Low Frequency Mode.............: 400 MHz
CPU Maximum non-Turbo Frequency....: 1800 MHz
CPU Maximum Turbo Frequency........: 3400 MHz

IGPU Info:
------------------------------------
IGPU Current Frequency.............: 0 MHz
IGPU Minimum Frequency.............: 300 MHz
IGPU Maximum Non-Turbo Frequency...: 300 MHz
IGPU Maximum Turbo Frequency.......: 1100 MHz
IGPU Maximum limit.................: No Limit

CPU P-States [ (12) 18 26 ] iGPU P-States [ ]
CPU C3-Cores [ 0 6 7 ]
CPU C3-Cores [ 0 2 3 6 7 ]
CPU C3-Cores [ 0 2 3 4 5 6 7 ]
CPU C3-Cores [ 0 1 2 3 4 5 6 7 ]
CPU P-States [ 12 (16) 18 26 ] iGPU P-States [ ]
CPU P-States [ 12 (16) 17 18 26 ] iGPU P-States [ ]
CPU P-States [ 12 (16) 17 18 21 26 ] iGPU P-States [ ]
CPU P-States [ (12) 14 16 17 18 21 26 ] iGPU P-States [ ]
CPU P-States [ (12) 13 14 16 17 18 21 26 ] iGPU P-States [ ]
CPU P-States [ (12) 13 14 15 16 17 18 21 26 ] iGPU P-States [ ]
CPU P-States [ 12 13 14 15 16 17 18 (20) 21 26 ] iGPU P-States [ (30) ]
CPU P-States [ 12 13 14 15 (16) 17 18 20 21 24 26 ] iGPU P-States [ 30 ]
CPU P-States [ 12 13 14 15 16 17 18 20 21 (23) 24 26 ] iGPU P-States [ 30 ]
CPU P-States [ 12 13 14 15 16 17 18 20 21 23 24 26 (31) ] iGPU P-States [ 30 ]
CPU P-States [ 12 13 14 15 16 17 18 20 21 23 24 26 27 31 (32) ] iGPU P-States [ 30 ]
CPU P-States [ 12 13 14 15 16 17 18 20 21 23 (24) 26 27 30 31 32 ] iGPU P-States [ 30 ]
CPU P-States [ 12 13 14 15 16 17 18 20 21 22 23 24 26 27 30 (31) 32 ] iGPU P-States [ 30 ]
CPU P-States [ 12 13 14 15 16 17 18 20 21 22 23 24 25 26 27 (30) 31 32 ] iGPU P-States [ 30 ]
CPU P-States [ 12 13 14 15 (16) 17 18 20 21 22 23 24 25 26 27 29 30 31 32 ] iGPU P-States [ 30 ]
CPU P-States [ (12) 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 ] iGPU P-States [ 30 ]
CPU P-States [ (12) 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ] iGPU P-States [ 30 ]
CPU P-States [ (12) 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ] iGPU P-States [ 2 30 ]
CPU P-States [ 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 (34) ] iGPU P-States [ 2 30 ]
CPU P-States [ (9) 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 ] iGPU P-States [ 2 30 ]
CPU P-States [ (9) 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 ] iGPU P-States [ 2 30 ]
CPU P-States [ 9 (10) 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 34 ] iGPU P-States [ 2 30 ]
CPU P-States [ 9 10 11 (12) 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ] iGPU P-States [ 2 30 ]
CPU P-States [ 9 10 11 (12) 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ] iGPU P-States [ 2 30 ]
CPU P-States [ 9 10 11 12 13 14 15 (16) 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ] iGPU P-States [ 2 30 ]

2. 使用英特尔 Power Gadget 工具

1. 安装英特尔 Power Gadget。2
. 让系统闲置一分钟。3
. 一两分钟后,开始在系统上执行任务。您可以使用基准测试软件来增加 CPU 负载。

空闲模式加载

加载至空闲模式

 

快速信息:

  • Intel Power Gadget 仅支持 Sandy Bridge 及更高版本。
  • Intel Power Gadget 不支持双处理器。

额外的


在黑苹果上,不支持休眠(挂起到磁盘或 S4 睡眠)。因此建议禁用它。1

. 打开终端并逐个执行以下命令。

代码:
sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage
sudo mkdir /var/vm/sleepimage

此外,禁用其他与休眠相关的功能也是一个好主意。

代码:
sudo pmset -a standby 0
sudo pmset -a autopoweroff 0

 

笔记:

  • 更新系统时,请确保休眠功能已禁用,因为系统更新会重新启用它。

问题报告


细节

  1. macOS 版本
  2. CPU/主板型号
  3. IOReg 副本
  4. AppleInfo.dat 的输出
  5. Kextcache 输出

截图

  • 系统信息
  • 英特尔电源小工具

文件

  • 对于 Clover, EFI/Clover,排除主题文件夹。
  • 对于 OpenCore, EFI/OC。

笔记:

  • 不包括完整的 EFI 文件夹。
资源下载
下载价格VIP专享
仅限VIP下载升级VIP
注册登录升级VIP会员 尊享全站资源下载特权
原文链接:https://imacos.top/2025/06/27/cpu/,转载请注明出处。
0
1. 本站所有资源解压密码均为imacos.top
2. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
3. 如有无法下载的链接,联系:邮箱271638927@qq.com,或直接联系QQ271638927进行反馈,我们将及时进行处理。
4. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:邮箱271638927@qq.com,我们将第一时间配合处理!

评论0

请先
终身会员限时上线 ☞ 限时永久会员折扣活动开始啦 > 查看优惠
没有账号?注册  忘记密码?

社交账号快速登录

微信扫一扫关注
如已关注,请回复“登录”二字获取验证码