diff --git "a/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752113280627.png" "b/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752113280627.png" new file mode 100644 index 0000000000000000000000000000000000000000..0584863e082817c8e19584ad3fb1fb23308b1dbc Binary files /dev/null and "b/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752113280627.png" differ diff --git "a/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752113320033.png" "b/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752113320033.png" new file mode 100644 index 0000000000000000000000000000000000000000..48fb3343805b5c2a68f76918e0146aaf5e8f7c46 Binary files /dev/null and "b/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752113320033.png" differ diff --git "a/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752113330960.png" "b/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752113330960.png" new file mode 100644 index 0000000000000000000000000000000000000000..48fb3343805b5c2a68f76918e0146aaf5e8f7c46 Binary files /dev/null and "b/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752113330960.png" differ diff --git "a/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752113518002.png" "b/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752113518002.png" new file mode 100644 index 0000000000000000000000000000000000000000..991b6ae4fafdb540764c074ab7e6c065f2cab2e7 Binary files /dev/null and "b/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752113518002.png" differ diff --git "a/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752114136842.png" "b/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752114136842.png" new file mode 100644 index 0000000000000000000000000000000000000000..40b2bc74ac179e681c7bd76d39c29d6db7263a79 Binary files /dev/null and "b/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752114136842.png" differ diff --git "a/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752115833342.png" "b/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752115833342.png" new file mode 100644 index 0000000000000000000000000000000000000000..f39d2702d8734f218e7eb9d5ba8ceec072beebb3 Binary files /dev/null and "b/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/assets/tuned/1752115833342.png" differ diff --git "a/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/\344\275\277\347\224\250tuned\350\260\203\350\212\202\347\224\265\346\272\220\347\256\241\347\220\206\346\226\271\346\241\210.md" "b/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/\344\275\277\347\224\250tuned\350\260\203\350\212\202\347\224\265\346\272\220\347\256\241\347\220\206\346\226\271\346\241\210.md" new file mode 100644 index 0000000000000000000000000000000000000000..1735984201f284788bd3acc4f047c20cfbfd062b --- /dev/null +++ "b/02_\345\237\272\347\241\200\346\223\215\344\275\234/\345\272\224\347\224\250\345\222\214\346\270\270\346\210\217/\344\275\277\347\224\250tuned\350\260\203\350\212\202\347\224\265\346\272\220\347\256\241\347\220\206\346\226\271\346\241\210.md" @@ -0,0 +1,131 @@ +# 使用tuned调节电源管理方案 + +--- + +**更新日期**:2025.07.10 +**系统版本**:openKylin 2.2 x86_64 + +--- + +## 〇、前言 +1. 起因是我用deepin的时候总会遇到死机的情况,猜测可能跟电源管理有关,经过测试发现改用tuned后死机情况就无了,所以应该是电源管理的问题,所以就想着写一篇文章来介绍一下。 +2. tuned是一个用于优化Linux系统的工具,它可以根据硬件性能、环境情况、负载情况等动态调整系统的参数,以实现更好的性能和 stability。 +3. tuned的配置文件位于`/etc/tuned/`目录下,每个配置文件都对应一种场景,例如`balanced`表示均衡模式,`latency-performance`表示延迟性能模式,`virtual-guest`表示虚拟机模式等等。 +![alt text](./assets/tuned/1752113280627.png) + +1. 我们可以通过他来选取适合我们的场景,比如虚拟机模式,这样可以使虚拟机获得更好的性能,减少延迟,再比如笔记本模式,我们选择`powersave`模式,这样可以使笔记本的电池续航时间更长。 + + +## 一、使用tuned调节电源管理方案 +1. 为了使系统在虚拟机中运行时获得更好的性能,我们可以通过tuned来调节电源管理方案。 +2. 首先,我们安装tuned工具`sudo apt install tuned`。 +![alt text](./assets/tuned/1752113518002.png) +3. 启动服务`sudo systemctl enable --now tuned` +3. 使用`tuned-adm list`命令查看当前所有可用的配置方案。 +![alt text](./assets/tuned/1752113330960.png) + +- 以下是各个配置文件的用途总结表格: + +| **配置文件名称** | **用途描述** | +|------------------|--------------| +| accelerator-performance | 基于吞吐量性能优化,禁用高延迟STOP状态 | +| atomic-guest | 针对Atomic变体的虚拟客户机优化 | +| atomic-host | 针对运行Atomic变体的裸机系统优化 | +| aws | 针对AWS EC2实例优化 | +| balanced | 通用非专业化的平衡配置 | +| cpu-partitioning | CPU分区优化 | +| cpu-partitioning-powersave | CPU分区优化+额外节能 | +| default | 传统的默认配置 | +| desktop | 针对桌面使用场景优化 | +| desktop-powersave | 桌面使用场景+节能优化 | +| enterprise-storage | RHEL6的传统存储优化(RHEL7请用throughput-performance) | +| hpc-compute | 针对高性能计算(HPC)工作负载优化 | +| intel-sst | 配置Intel Speed Select基础频率 | +| laptop-ac-powersave | 连接电源的笔记本电脑节能优化 | +| laptop-battery-powersave | 使用电池的笔记本电脑激进节能优化 | +| latency-performance | 确定性性能优化(牺牲功耗) | +| mssql | 针对Microsoft SQL Server优化 | +| network-latency | 低延迟网络性能优化(牺牲功耗) | +| network-throughput | 流式网络吞吐量优化(适合旧CPU或40G+网络) | +| openshift | OpenShift系统优化(父配置) | +| openshift-control-plane | OpenShift控制平面优化 | +| openshift-node | OpenShift节点优化 | +| optimize-serial-console | 串行控制台使用优化 | +| oracle | Oracle RDBMS优化 | +| postgresql | PostgreSQL服务器优化 | +| powersave | 低功耗优化 | +| realtime | 实时工作负载优化 | +| realtime-virtual-guest | KVM客户机内实时工作负载优化 | +| realtime-virtual-host | 运行实时工作负载的KVM主机优化 | +| sap-hana | SAP HANA优化 | +| sap-hana-kvm-guest | KVM客户机内SAP HANA优化 | +| sap-netweaver | SAP NetWeaver优化 | +| server-powersave | 服务器节能优化 | +| spectrumscale-ece | Spectrum Scale纠删码版服务器优化 | +| spindown-disk | 旋转磁盘停转节能优化 | +| throughput-performance | 通用服务器工作负载吞吐量优化 | +| virtual-guest | 虚拟客户机优化 | +| virtual-host | KVM客户机运行优化 | + + - **当前活动配置**:balanced(通用平衡配置) + - 这些方案都是针对不同场景的配置方案,可以根据自己的需求选择一个合适的方案。 +3. 接下来,我们使用`tuned-adm profile`命令指定一个配置方案,例如针对笔记本我用的是`sudo tuned-adm profile laptop-ac-powersave`,需要前台响应及时的时候我选择`sudo tuned-adm profile cpu-partitioning`这样会增加功耗,但是能获得更好的性能。 +![alt text](./assets/tuned/1752114136842.png) +4. 更新systemd的设置,ok2.2切换配置后会有个提示:![alt text](./assets/tuned/1752115833342.png) +- 此时我们就需要按他说的,执行`sudo dracut -f`即可,如果没有安装就安装`dracut`即可 + +## 二、使用建议 +1. 具体使用哪个配置方案需要大家根据自己机器的情况来选择。 +2. 如果当前的配置方案有问题及时切换其他的方案,默认是balanced,比较均衡,并不一定是最好的方案(但用起来已经很不错了),我用ai做了一个的表格,大家可以参考一下: +#### 方案特点 +`balanced` 是 tuned 的**默认通用配置**,在笔记本上的表现: + +| 特性 | 表现 | +|------|------| +| 性能策略 | 动态平衡:根据负载自动调整 | +| 功耗管理 | 中等节能:启用基础C-states | +| CPU调速器 | `ondemand` (按需调整频率) | +| 响应速度 | 日常应用流畅,编译/游戏稍慢 | +| 发热控制 | 中等:轻度负载安静,重度负载风扇启动 | +| 电池续航 | 比性能模式长20%,比节能模式短15% | + +--- + +### 与专用笔记本配置对比 + +#### 🆚 vs `laptop-ac-powersave` (AC电源模式) +| 指标 | balanced | laptop-ac-powersave | 胜者 | +|------|----------|----------------------|------| +| 编译速度 | ⏱️ 100%基准 | ⏱️ 95% | balanced | +| 视频会议功耗 | 🔋 8W | 🔋 6.5W | laptop-ac | +| 唤醒延迟 | ⏳ 0.8s | ⏳ 1.2s | balanced | +| 游戏帧率 | 🎮 100%基准 | 🎮 92% | balanced | +| 满负载温度 | 🌡️ 78°C | 🌡️ 72°C | laptop-ac | + +#### 🆚 vs `laptop-battery-powersave` (电池模式) +| 指标 | balanced | laptop-battery-powersave | 胜者 | +|------|----------|--------------------------|------| +| 网页浏览续航 | 🔋 5小时 | 🔋 6.5小时 | powersave | +| 文档编辑流畅度 | ✍️ 流畅 | ✍️ 轻微卡顿 | balanced | +| 视频播放续航 | 📺 4小时 | 📺 5.5小时 | powersave | +| 后台更新影响 | ⚠️ 明显减速 | ⚠️ 几乎无感 | powersave | +| 系统唤醒速度 | ⏳ 0.8s | ⏳ 1.5s | balanced | + +--- + +### 适用场景推荐 +✅ **适合使用 balanced 的情况**: +1. 混合使用场景(办公+娱乐) +2. 经常在AC电源和电池间切换 +3. 开发环境(需编译但不要极致性能) +4. 学生日常使用(文档+视频+轻度编程) +5. 不想频繁切换配置的用户 + +❌ **建议换用其他配置的情况**: +1. 纯电池移动办公 → 改用 `laptop-battery-powersave` +2. 笔记本固定位置连接电源办公 → 改用 `laptop-ac-powersave` +3. 固定位置接电源玩游戏 → 改用 `desktop` +4. 长时间视频渲染 → 改用 `throughput-performance` +5. 重要线上会议 → 改用 `latency-performance` + +上面的数据是ai瞎扯的,仅供参考,但大体上我感觉是差不多的,有需要的朋友可以自行测试。 \ No newline at end of file