undervolt

undervolt

Linux系统Intel CPU降压优化工具

undervolt是一款开源的Linux系统Intel CPU降压工具。它支持对5个电压平面进行调整,可设置温度目标和功耗限制。适用于大多数Haswell后的Intel处理器,提供命令行和系统服务使用方式。通过undervolt,用户可以优化CPU性能,降低功耗和温度。

undervoltIntel CPULinux电压调节性能优化Github开源项目

警告!除了我自己之外,这个程序未经测试,可能会损坏您的硬件!使用风险自负。

================== undervolt |travis|

.. |travis| image:: https://travis-ci.org/georgewhewell/undervolt.svg :target: https://travis-ci.org/georgewhewell/undervolt :alt: 构建状态

undervolt 是一个用于在 Linux 下对 Intel CPU 进行降压的程序。它的工作方式类似于 Windows 程序 ThrottleStop(即使用 MSR 0x150)。您可以对 5 个电压平面之一应用固定的电压偏移,覆盖系统的温度目标(CPU 将在达到此温度时降频),并调整系统的短期和长期功耗预算(时钟频率和电压将被调整以保持这些时期内的总功耗低于配置的限制)。

更多信息请阅读 这里 <https://github.com/mihic/linux-intel-undervolt>_。

安装

从 PyPi 安装::

$ pip install undervolt

从源代码安装::

$ pip install git+https://github.com/georgewhewell/undervolt.git    

注意自定义内核用户:必须在内核选项中启用 'msr' 模块("CONFIG_X86_MSR")(处理器类型和特性 -> 特定型号寄存器支持)

示例

读取当前偏移::

$ undervolt --read
温度目标: -25 (75C)
核心: -110.35 mV
GPU: -49.8 mV
缓存: -110.35 mV
非核心: -59.57 mV
模拟IO: -59.57 mV
功率限制: 35.0W (短期: 1.0s - 已启用) / 35.0W (长期: 1.0s - 已启用)
睿频: 已启用

对 CPU 核心和缓存应用 -100mV 偏移:

$ undervolt --core -100 --cache -100

对 GPU 应用 -75mV 偏移,对所有其他平面应用 -100mV:

$ undervolt --gpu -75 --core -100 --cache -100 --uncore -100 --analogio -100

将温度目标设置为 97C:

$ undervolt --temp 97

将功率限制 1 设置为 35W,10秒:

$ undervolt -p1 35 10

禁用 Intel 睿频:

$ undervolt --turbo 1

生成命令以重现您的 Throttlestop 设置::

$ undervolt --throttlestop ThrottleStop.ini --tsindex 3
undervolt --core -100.5859375
$ undervolt --throttlestop ThrottleStop.ini
undervolt --core -125.0 --gpu -125.0 --cache -125.0

用法

.. code-block::

$ undervolt -h
用法: undervolt.py [-h] [--version] [-v] [-f] [-r] [-t TEMP]
                    [--temp-bat TEMP_BAT] [--throttlestop THROTTLESTOP]
                    [--tsindex TSINDEX] [-p1 POWER_LIMIT TIME_WINDOW]
                    [-p2 POWER_LIMIT TIME_WINDOW] [--lock-power-limit]
                    [--core CORE] [--gpu GPU] [--cache CACHE]
                    [--uncore UNCORE] [--analogio ANALOGIO]

可选参数:
  -h, --help            显示此帮助信息并退出
  --version             显示程序版本号并退出
  -v, --verbose         打印调试信息
  -f, --force           允许设置正偏移
  -r, --read            读取现有值
  --turbo               更改 Intel 睿频功能状态(1 为禁用,0 为启用)
  -t TEMP, --temp TEMP  设置交流电源下的温度目标(如果未使用 --temp-bat,
                        也适用于电池供电)
  --temp-bat TEMP_BAT   设置电池供电时的温度目标
  --throttlestop THROTTLESTOP
                        从 ThrottleStop 提取值
  --tsindex TSINDEX     ThrottleStop 配置文件索引
  -p1 POWER_LIMIT TIME_WINDOW, --power-limit-long POWER_LIMIT TIME_WINDOW
                        P1 功率限制 (W) 和时间窗口 (s)
  -p2 POWER_LIMIT TIME_WINDOW, --power-limit-short POWER_LIMIT TIME_WINDOW
                        P2 功率限制 (W) 和时间窗口 (s)
  --lock-power-limit    锁定设置的功率限制。一旦锁定,在下次重置(例如重启)
                        之前无法修改。
  --core CORE           偏移 (mV)
  --gpu GPU             偏移 (mV)
  --cache CACHE         偏移 (mV)
  --uncore UNCORE       偏移 (mV)
  --analogio ANALOGIO   偏移 (mV)

开机自动运行(systemd)

首先,创建一个单元文件 /etc/systemd/system/undervolt.service, 内容如下,将参数替换为您自己的偏移值::

[Unit] Description=undervolt After=suspend.target After=hibernate.target After=hybrid-sleep.target

[Service] Type=oneshot

如果您全局安装了 undervolt(通过 sudo pip install):

ExecStart=/usr/local/bin/undervolt -v --core -150 --cache -150 --gpu -100

如果您想从源代码运行:

ExecStart=/path/to/undervolt.py -v --core -150 --cache -150 --gpu -100

[Install] WantedBy=multi-user.target WantedBy=suspend.target WantedBy=hibernate.target WantedBy=hybrid-sleep.target

检查您的脚本是否正常工作::

$ systemctl start undervolt

现在您可以启用 undervolt 服务::

$ systemctl enable undervolt

或者,如果您遇到设置持久性问题,创建一个定时器 /etc/systemd/system/undervolt.timer 以定期触发任务: ::

[Unit] Description=应用降压设置

[Timer] Unit=undervolt.service

开机后等待 2 分钟再首次应用

OnBootSec=2min

每 30 秒运行一次

OnUnitActiveSec=30

[Install] WantedBy=multi-user.target

现在启用并启动定时器::

$ systemctl enable undervolt.timer $ systemctl start undervolt.timer

通过包含 OnBootSec 命令,设置不会立即应用。 如果您设置了过于激进的偏移值,您将有一小段时间来 禁用定时器,以防它使您的系统崩溃::

$ systemctl stop undervolt.timer

现在您可以编辑 undervolt.service 再重新启动定时器。

开机自动运行(runit)

首先,为服务创建一个目录::

$ sudo mkdir -p /etc/sv/undervolt

然后在该目录中创建一个名为 "run" 的文件,并编辑它包含以下内容::

#!/bin/sh undervolt --core -85 --uncore -85 --analogio -85 --cache -85 --gpu -85 sleep 60

将偏移值替换为您自己的。然后将文件标记为可执行::

$ sudo chmod a+x /etc/sv/undervolt/run

然后启用服务::

$ sudo ln -s /etc/sv/undervolt /var/services/

硬件支持

降压应该适用于 Haswell 之后的任何 CPU。 ================================== ========= ========== 系统 CPU 是否工作? ================================== ========= ========== 宏碁Aspire 7 (A715-71G) i5-7300HQ 是 宏碁Aspire E 15 (E5-575G) i5-7200U 是 宏碁Nitro 5 i5-7300HQ 是 宏碁Nitro 5 (An515-52) i5-8300H 是 宏碁Predator (PH315-51) i7-8750H 是 宏碁Swift 7 (SF714) i5-8200Y 是 华硕FX504GE i7-8750H 是 华硕GL703GE i7-8750H 是 戴尔G5 i7-8750H 是 戴尔G5 5590 i7-9750H 是 戴尔Inspiron 5577 i7-7700HQ 是 戴尔Inspiron 7560 i7-7500U 是 戴尔Latitude 3301 i5-8265U 是 戴尔Latitude 5400 i7-8665U 是 戴尔Latitude 5480 i5-6300U 是 戴尔Latitude 7390 i7-8650U 是 戴尔Precision 5530 i9-8950HK 是 戴尔Precision 7530 i9-8950HK 是 戴尔Precision 7730 E-2176M 是 戴尔Precision 7740 E-2286M 是 戴尔Precision M3800 i7-4712HQ 是 戴尔XPS 13 9343 i5-5200U 是 戴尔XPS 13 9350 i7-6560U 是 戴尔XPS 13 9360 i7-7560U 是 戴尔XPS 15 7590 i7-9750H 是 戴尔XPS 15 7590 i9-9980HK 是 戴尔XPS 15 9530 i7-4712HQ 是 戴尔XPS 15 9550 i7-6700HQ 是 戴尔XPS 15 9560 i7-7700HQ 是 戴尔XPS 15 9570 i9-8950HK 是 戴尔XPS 15 9575 i7-8705G 是 惠普Omen 17-an061ur i7-7700HQ 是 惠普Spectre X360 i7-8809G 是 惠普Zbook Studio G5 i7-8750H 是 英特尔NUC7i3BNK i3-7100U 是 联想AIO Y910 27ISH i7-6700 是 联想IdeaCentre Q190 1017U 否 联想Thinkpad T430 i7-3610QM 否 联想Thinkpad T440p i5-4300M 是 联想Thinkpad T470p i7-7700HQ 是 联想Thinkpad T470p i7-7820HQ 是 联想Thinkpad T470s i5-7300U 是 联想Thinkpad T480s i5-8250U 是 联想Thinkpad T490 i5-8265U 是 联想Thinkpad X1 Carbon i7-6600U 是 联想Thinkpad X1 Extreme i7-8750H 是 联想Thinkpad X1 Extreme Gen 2 i7-9750H 是 联想Thinkpad x250 i7-5600U 是 联想X1 Gen 5 i7-7500U 是 联想X1 Yoga Gen 2 i7-7600U 是 联想Yoga 920 i7-8550U 是 微星GE60 2QD Apache i7-4720HQ 是 微星GP73 Leopard 8RF i7-8750H 是 MacBook Air 2015年末 i5-5250U 是 MacBook Air 2013年中 i5-4250U 是 东芝Chromebook 2 N2840 否 ================================== ========= ==========

故障排除

  • 核心或缓存偏移量无效。 无法为CPU核心和缓存设置不同的偏移量。CPU将采用两者中较小的偏移量,并将其应用于CPU和缓存。如果尝试设置不同的偏移量,将显示警告消息。

  • OSError: [Errno 1] 操作不允许 首先尝试使用sudo运行。如果错误仍然存在,您的系统可能以安全启动模式启动。在这种情况下,Linux内核将阻止用户空间程序(即使是root用户)写入CPU的特定模型寄存器。在系统BIOS中禁用UEFI安全启动,错误应该会消失。

  • 降压无效 - 您的设备BIOS可能阻止了它。查看wiki(https://github.com/georgewhewell/undervolt/wiki)以找到您硬件的相关说明。

图形用户界面

这里还有一个用Java编写的小型图形界面:https://github.com/zmalrobot/JavaLinuxUndervolt

它允许您设置每个值(核心、GPU、缓存、非核心、模拟IO,尚未实现温度目标),保存配置文件,加载配置文件并重置值。

致谢

本项目是对以下资源中他人工作的简单封装:

非常感谢所有贡献者。

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多