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,尚未实现温度目标),保存配置文件,加载配置文件并重置值。

致谢

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

非常感谢所有贡献者。

编辑推荐精选

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

下拉加载更多