Project Icon

undervolt

Linux系统Intel CPU降压优化工具

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

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

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

致谢

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

非常感谢所有贡献者。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号