电​​​​​​​源​​​​​​​管​​​​​​​理​​​​​​​指​​​​​​​南​​​​​​​

Similar documents
I

<433A5C446F63756D656E E E67735C41646D696E F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

修改版-操作手册.doc

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量

说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学

国债回购交易业务指引

评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

《C语言基础入门》课程教学大纲

深圳市新亚电子制程股份有限公司

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,

全国建筑市场注册执业人员不良行为记录认定标准(试行).doc

上海证券交易所会议纪要

评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

2. 本 次 修 改 后, 投 资 者 申 购 新 股 的 持 有 市 值 要 求 市 值 计 算 规 则 及 证 券 账 户 使 用 的 相 关 规 定 是 否 发 生 了 变 化? 答 : 未 发 生 变 化 投 资 者 申 购 新 股 的 持 有 市 值 是 指, 以 投 资 者 为 单 位

云信Linux SSH认证代理用户手册

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管

( ) 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 教 周 2016 年 06 月 13 日 (08:00-09:35) ( )

3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审

目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用

<4D F736F F D20B9D8D3DAB0BABBAAA3A8C9CFBAA3A3A9D7D4B6AFBBAFB9A4B3CCB9C9B7DDD3D0CFDEB9ABCBBE C4EAC4EAB6C8B9C9B6ABB4F3BBE1B7A8C2C9D2E2BCFBCAE92E646F6378>

Microsoft Word - 第7章 图表反转形态.doc

何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

登录、注册功能的测试用例设计.doc

珠江钢琴股东大会

一、资质申请

教师上报成绩流程图

<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6>

世华财讯模拟操作手册

Microsoft Word - 文件汇编.doc

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年

附 件 : 上 海 市 建 筑 施 工 企 业 施 工 现 场 项 目 管 理 机 构 关 键 岗 位 人 员 配 备 指 南 二 一 四 年 九 月 十 一 日 2

乐视云视频发行平台 操作手册 V1.1

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决


抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % %

第 一 部 分 MagiCAD for Revit 安 装 流 程

证券代码: 证券简称:长城电脑 公告编号:

采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路 2

光明乳业股份有限公司

关于修订《沪市股票上网发行资金申购

全国艺术科学规划项目

黄 金 原 油 总 持 仓 增 长, 同 比 增 幅 分 别 为 4.2% 和 4.1% 而 铜 白 银 以 及 玉 米 则 出 现 减 持, 减 持 同 比 减 少 分 别 为 9.4%,9.4% 以 及 6.5% 大 豆, 豆 粕 结 束 连 续 4 周 总 持 仓 量 增 长, 出 现 小 幅

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语

Microsoft Word - 第3章.doc

目 录 第 一 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 硬 件 使 用 介 绍... 3 第 二 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 管 理 员 端 功 能 使 用 介 绍 系 统 管 理 员 登 陆 班

合 并 计 算 配 售 对 象 持 有 多 个 证 券 账 户 的, 多 个 证 券 账 户 市 值 合 并 计 算 确 认 多 个 证 券 账 户 为 同 一 配 售 对 象 持 有 的 原 则 为 证 券 账 户 注 册 资 料 中 的 账 户 持 有 人 名 称 有 效 身 份 证 明 文 件

2006年顺德区高中阶段学校招生录取分数线

富士通将军空调机 诺可力®X系列 样本

自 服 务 按 钮 无 法 访 问 新 系 统 的 自 服 务 页 面 因 此 建 议 用 户 从 信 网 中 心 ( 主 页, 右 下 角 位 置 的 常 用 下 载, 或 校 园 网 用 户 自 服 务 ( 首 页

工 程 造 价 咨 询 企 业 管 理 系 统 操 作 手 册 目 录 1 造 价 企 业 登 录 企 业 基 本 信 息 查 看 企 业 人 员 信 息 查 看 企 业 基 本 信 息 操 作 企 业 简 介 企 业 章

·岗位设置管理流程

Microsoft Word - 资料分析练习题09.doc

4 进 入 交 互 区 设 置 的 组 件 管 理, 在 组 件 管 理 中, 教 师 可 以 选 择 课 程 空 间 中 的 所 有 组 件, 并 通 过 点 击 启 用 或 不 启 用 选 定 组 件 在 课 程 空 间 中 的 显 示 5 进 入 工 作 室 管 理 的 工 作 室 首 页,

公 开 刊 物 须 有 国 内 统 一 刊 (CN), 发 表 文 章 的 刊 物 需 要 在 国 家 新 闻 出 版 广 电 总 局 ( 办 事 服 务 便 民 查 询 新 闻 出 版 机 构 查 询 ) 上 能 够 查 到 刊 凡 在 有 中 国 标 准 书 公 开

Cybozu Garoon 3 管理员手册

操作手册

<443A5C6D B5C30312EB9A4D7F7CEC4B5B55C30322EBACFCDACCEC4B5B55C C30342EC8CBC9E7CCFC5C31332ECFEEC4BFC5E0D1B55C E30385C322EB2D9D7F7CAD6B2E12E646F63>

<4D F736F F D20B9D8D3DA BDECB1CFD2B5C9FAC5C9C7B2B1A8B5BDB5C8D3D0B9D8B9A4D7F7B5C4CDA8D6AAA3A E362E38A3A92E646F63>

全国教师资格认定管理信息系统

Template BR_Rec_2005.dot

国际财务报告准则第13号——公允价值计量

第2章 数据类型、常量与变量

名 称 生 命 科 学 学 院 环 境 科 学 1 生 物 学 仅 接 收 院 内 调 剂, 初 试 分 数 满 足 我 院 生 物 学 复 试 最 低 分 数 线 生 命 科 学 学 院 生 态 学 5 生 态 学 或 生 物 学 生 命 科 学 学 院

01

四川省卫生厅关于开展医疗美容主诊医师资格考试及换证工作的通知

投 资 者 可 在 基 金 管 理 人 指 定 的 销 售 机 构 申 购 和 赎 回 美 元 等 外 币 销 售 的 基 金 份 额, 具 体 详 见 基 金 管 理 人 相 关 公 告 2 在 三 申 购 与 赎 回 的 原 则 部 分 增 加 : 1 本 基 金 采 用 多 币 种 销 售,

<4D F736F F D20A1B6C8DAD7CAC8DAC8AFBDBBD2D7CAB5CAA9CFB8D4F2A1B7D0DEB6A9BDE2B6C1A3A8C8DAD7CAC8DAC8AFD7A8C0B8A3A92E646F63>

工 程 勘 察 资 质 标 准 根 据 建 设 工 程 勘 察 设 计 管 理 条 例 和 建 设 工 程 勘 察 设 计 资 质 管 理 规 定, 制 定 本 标 准 一 总 则 ( 一 ) 本 标 准 包 括 工 程 勘 察 相 应 专 业 类 型 主 要 专 业 技 术 人 员 配 备 技 术

 编号:

年 8 月 11 日, 公 司 召 开 2015 年 第 五 次 临 时 股 东 大 会, 审 议 通 过 了 关 于 公 司 <2015 年 股 票 期 权 激 励 计 划 ( 草 案 )> 及 其 摘 要 的 议 案 关 于 提 请 股 东 大 会 授 权 董 事 会 办 理 公

龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和

《深圳市场首次公开发行股票网上按市值申购实施办法》.doc

微软用户

课程类 别

目 录 页 1. 欢 迎 使 用 网 上 预 约 面 谈 访 问 系 统 新 用 户 新 用 户 登 入 帐 户 程 序 启 动 网 上 预 约 面 谈 访 问 帐 户 核 对 帐 户 的 地 址 资 料

第 六 章 债 券 股 票 价 值 评 估 1 考 点 一 : 债 券 价 值 的 影 响 因 素 2

2 熟 悉 Visual Basic 的 集 成 开 发 环 境 3 了 解 可 视 化 面 向 对 象 编 程 事 件 驱 动 交 互 式 开 发 等 基 本 概 念 4 了 解 Visual Basic 的 特 点 环 境 要 求 与 安 装 方 法 1 Visual Basic 开 发 应 用

学 年 第 二 学 期 集 中 考 试 安 排 (18 周 ) 考 试 日 期 :6 月 27 日 星 期 一 8:10-9:50 第 二 公 共 教 学 楼 A 区 A 高 等 数 学 ( 理 二 2) 复 材 材 料 科 学 与 工 程

2014年中央财经大学研究生招生录取工作简报

上海证券交易所会议纪要

2016年德州市机构编制委员会


第 四 条 建 设 单 位 对 可 能 产 生 职 业 病 危 害 的 建 设 项 目, 应 当 依 照 本 办 法 向 安 全 生 产 监 督 管 理 部 门 申 请 职 业 卫 生 三 同 时 的 备 案 审 核 审 查 和 竣 工 验 收 建 设 项 目 职 业 卫 生 三 同 时 工 作 可

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,,

上证指数

证监会行政审批事项目录


三门峡市质量技术监督局清单公示

1 什 么 是 按 市 值 申 购? 第 二 部 分 新 股 申 购 常 见 难 点 解 析 ( 含 信 用 账 户 ) 答 : 投 资 者 持 有 市 值 不 低 于 1 万 元 才 能 参 与 申 购, 申 购 数 量 不 能 超 过 主 承 销 商 规 定 的 申 购 上 限, 且 不 得 超

<4D F736F F D20B6C0C1A2B6ADCAC2D0ECCCFABEFDCFC8C9FABCB0CCE1C3FBC8CBC9F9C3F72E646F63>

一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起

书面申请

B-002 行 政 处 罚 在 气 象 探 测 环 境 保 护 范 围 内 从 事 危 害 气 象 探 测 环 境 活 动 的 处 罚 中 华 人 民 共 和 国 气 象 法 第 三 十 五 条 第 一 款 第 二 项 B-003 行 政 处 罚 在

GB

收 入 支 出 项 目 2016 年 预 算 项 目 2016 年 预 算 预 算 01 表 单 位 : 万 元 ( 保 留 两 位 小 数 ) 一 公 共 财 政 预 算 拨 款 一 人 员 经 费 一 般 财 力 人 员 支 出 成 品

<4D F736F F D20B3D6B2D6CFDEB6EEB1EDB8F1D7EED6D52E646F63>

办 法 >( 修 订 稿 ) 的 议 案 关 于 提 请 任 子 行 网 络 技 术 股 份 有 限 公 司 股 东 大 会 授 权 董 事 会 办 理 公 司 限 制 性 股 票 激 励 计 划 相 关 事 宜 的 议 案 确 定 公 司 的 限 制 性 股 票 激 励 计 划 相 关 事 项 如

现 场 会 议 时 间 为 :2016 年 5 月 19 日 网 络 投 票 时 间 为 :2016 年 5 月 18 日 年 5 月 19 日 其 中 通 过 深 圳 证 券 交 易 所 交 易 系 统 进 行 网 络 投 票 的 时 间 为 2016 年 5 月 19 日 9:30-

中国石化油品销售企业CRM调研报告

Transcription:

Red Hat Enterprise Linux 6 电 源 管 理 指 南 版 1.0 在 红 帽 企 业 版 Linux 6 中 管 理 电 源 消 耗 Last Updated: 2017-10-12

Red Hat Enterprise Linux 6 电 源 管 理 指 南 在 红 帽 企 业 版 Linux 6 中 管 理 电 源 消 耗 版 1.0 Don Domingo 红 帽 工 程 内 容 服 务 Rüdiger Landmann 红 帽 工 程 内 容 服 务 r.landmann@redhat.com Red Hat Inc.

法律通告 Copyright 2010 Red Hat Inc.. This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux is the registered trademark of Linus Torvalds in the United States and other countries. Java is a registered trademark of Oracle and/or its affiliates. XFS is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project. The OpenStack Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community. All other trademarks are the property of their respective owners. 摘要 这 个 文 档 解 释 了 如 何 在 红 帽 企 业 版 Linux 6 系 统 中 有 效 管 理 您 的 电 源 消 耗 下 面 的 部 分 讨 论 了 降 低 电 源 消 耗 的 不 同 技 术 ( 服 务 器 和 笔 记 本 电 脑 ), 以 及 每 个 技 术 对 您 系 统 总 体 性 能 的 影 响

目录 目录 第... 1. 章... 概. 述..................................................................................... 3. 1.1. 电源管理的重要性 3 1.2. 电源管理基础 4 第... 2. 章... 电. 源.. 管.. 理.. 工.. 具. 审.. 核.. 及.. 分.. 析.................................................................... 6. 2.1. 审核及分析概述 6 2.2. POWERTOP 6 2.3. DISKDEVSTAT 和 NETDEVSTAT 8 2.4. 电池寿命工具组件 (BATTERY LIFE TOOL KIT) 11 2.5. TUNED 和 KTUNE 12 2.5.1. tuned.conf 文件 13 2.5.2. Tuned-adm 15 2.6. DEVICEKIT-POWER 和 DEVKIT-POWER 17 2.7. GNOME 电源管理器 17 2.8. 其他审核方法 18 第... 3. 章... 核. 心.. 基.. 础.. 结.. 构. 及.. 技.. 巧....................................................................... 19.. 3.1. CPU 闲置状态 19 3.2. 使用 CPUFREQ 调节器 19 3.2.1. CPUfreq 调节器类型 19 3.2.2. CPUfreq 设置 20 3.2.3. 调整 CPUfreq 策略和速度 21 3.3. 挂起和恢复 22 3.4. 无空循环内核 22 3.5. 主动式电源管理 22 3.6. 主动连接电源管理 23 3.7. RELATIME 驱动器访问优化 24 3.8. 功率封顶 24 3.9. 改进的图形电源管理 25 3.10. RFKILL 25 3.11. 在用户空间中优化 26 第... 4. 章... 使. 用.. 案.. 例................................................................................ 27.. 4.1. 示例 - 服务器 27 4.2. 示例 - 笔记本电脑 27 附录..... A... 开.. 发. 者.. 小.. 贴.. 示............................................................................ 30.. A.1. 使用线程 30 A.2. 唤醒 30 A.3. FSYNC 31 附录..... B... 修.. 订. 记.. 录................................................................................ 33.. 1

电 源 管 理 指 南 2

第 1 章概 述 第 1 章概 述 电 源 管 理 是 我 们 改 进 红 帽 企 业 版 Linux 6 的 关 注 点 之 一 限 制 计 算 机 的 电 源 消 耗 是 绿 色 IT( 环 保 友 好 的 计 算 ) 最 重 要 的 部 分 之 一, 它 可 延 伸 到 很 多 方 面, 其 中 包 括 使 用 可 回 收 材 料 硬 件 产 品 对 环 境 的 影 响 以 及 设 计 和 部 署 系 统 时 的 环 保 意 识 在 这 篇 文 档 中 我 们 将 提 供 有 关 运 行 红 帽 企 业 版 Linux 6 系 统 的 电 源 管 理 的 指 导 和 信 息 1.1. 电 源 管 理 的 重 要 性 电 源 管 理 的 核 心 是 了 解 如 何 有 效 优 化 每 个 系 统 组 件 的 能 源 消 耗 这 涉 及 到 对 您 系 统 执 行 的 不 同 任 务 的 研 究, 并 配 置 每 个 组 件 以 便 确 定 其 性 能 刚 好 适 用 于 该 任 务 进 行 电 源 管 理 的 主 要 原 因 是 : 减 少 电 源 总 耗 以 便 降 低 成 本 正 确 使 用 电 源 管 理 可 有 如 下 结 果 : 为 服 务 器 和 计 算 中 心 进 行 降 温 降 低 二 次 成 本, 其 中 包 括 冷 却 空 间 电 缆 发 电 机 以 及 不 间 断 供 电 (UPS) 延 长 笔 记 本 电 脑 电 池 寿 命 降 低 二 氧 化 碳 排 放 达 到 政 府 法 律 法 规 中 对 绿 色 IT 的 要 求, 例 如 : 能 耗 星 级 达 到 公 司 对 新 系 统 的 要 求 通 常, 降 低 特 定 组 件 ( 或 者 整 个 系 统 ) 的 电 源 消 耗 将 降 低 散 热 和 性 能 因 此, 您 应 该 彻 底 学 习 并 测 试 您 进 行 的 任 何 配 置 可 承 受 的 性 能 降 低, 特 别 是 对 关 键 任 务 系 统 通 过 研 究 您 系 统 执 行 的 不 同 任 务 以 及 每 个 组 件 的 配 置 确 定 其 性 能 刚 好 满 足 该 任 务 的 需 要, 这 样 您 可 以 节 省 能 源, 减 少 散 热, 并 为 笔 记 本 电 脑 优 化 电 池 寿 命 有 关 电 源 消 耗 的 分 析 和 调 整 系 统 的 很 多 原 则 与 性 能 调 整 相 似 在 有 些 情 况 下, 电 源 管 理 和 性 能 调 整 是 从 对 立 方 向 进 行 系 统 配 置, 因 为 系 统 通 常 是 根 据 性 能 或 者 电 源 进 行 优 化 的 本 手 册 阐 述 了 一 些 红 帽 提 供 的 工 具 以 及 我 们 开 发 用 来 帮 助 您 完 成 这 一 过 程 的 技 术 红 帽 企 业 版 Linux 6 附 带 了 很 多 新 的 电 源 管 理 特 性, 它 们 是 默 认 启 用 的 所 选 的 特 性 都 不 会 对 典 型 服 务 器 或 者 桌 面 系 统 使 用 产 生 影 响 但 是 对 绝 对 需 要 最 大 吞 吐 量 最 小 延 迟 或 者 最 高 CPU 性 能 的 非 常 具 体 的 使 用 案 例 则 可 能 需 要 审 查 那 些 默 认 特 性 要 决 定 您 是 否 应 该 使 用 本 文 档 中 阐 述 的 技 术 优 化 您 的 机 器, 请 先 问 您 自 己 几 个 问 题 : 问 : 我 必 须 优 化 吗? 答 : 电 源 优 化 的 重 要 性 取 决 于 您 的 公 司 是 否 有 要 遵 循 的 准 则, 或 者 是 否 有 您 必 须 执 行 的 规 定 问 : 优 化 的 代 价 是 什 么? 答 : 我 们 给 出 的 几 个 技 术 并 不 需 要 您 完 成 详 细 审 核 和 分 析 您 的 机 器 的 整 个 过 程, 我 们 提 供 一 组 可 改 进 您 电 源 使 用 的 常 用 优 化 当 然 它 们 对 系 统 的 优 化 不 如 手 动 审 核 和 优 化 的 系 统, 但 提 供 了 一 个 好 的 折 衷 方 案 问 : 优 化 是 否 会 将 系 统 性 能 降 低 到 无 法 接 受 的 程 度? 3

电 源 管 理 指 南 答 : 这 个 文 档 中 描 述 的 大 多 数 技 术 都 会 显 著 影 响 您 系 统 的 性 能 如 果 您 选 择 使 用 使 用 比 红 帽 企 业 版 Linux 6 中 默 认 的 现 有 电 源 管 理 更 多 的 功 能, 您 应 该 在 电 源 优 化 后 监 控 您 的 系 统 性 能 并 决 定 性 能 损 失 是 否 可 以 接 受 问 : 优 化 消 耗 的 时 间 和 资 源 是 否 超 过 了 得 到 的 结 果? 答 : 手 动 完 成 优 化 单 一 系 统 的 整 个 过 程 通 常 得 不 偿 失, 因 为 消 耗 的 时 间 和 费 用 比 您 在 单 一 机 器 中 获 得 的 好 处 不 成 比 例 另 外, 比 如 说 您 在 办 公 室 使 用 10000 个 桌 面 系 统, 它 们 的 配 置 和 设 置 都 一 样, 那 么 生 成 一 个 优 化 的 设 置 并 在 10000 台 机 器 中 使 用 就 是 事 半 功 倍 了 下 面 的 部 分 解 释 了 如 何 优 化 硬 件 性 能 以 便 使 您 的 系 统 在 节 能 方 面 受 益 1.2. 电 源 管 理 基 础 有 效 电 源 管 理 是 建 立 在 以 下 原 则 上 的 : 只 在 需 要 时 唤 醒 闲 置 的 CPU 红 帽 企 业 版 Linux 5 内 核 曾 为 每 个 CPU 使 用 周 期 计 时 器 这 个 计 时 器 防 止 CPU 真 正 进 入 闲 置 状 态, 因 为 它 要 求 CPU 无 论 是 否 有 进 程 在 运 行, 都 要 处 理 每 个 计 时 器 事 件 ( 根 据 设 置 几 微 妙 出 现 一 次 ) 有 效 电 源 管 理 的 主 要 任 务 是 减 少 CPU 唤 醒 的 频 率 因 此, 红 帽 企 业 版 Linux 6 中 的 Linux 内 核 删 除 了 周 期 计 时 器 : 结 果 是 现 在 CPU 的 闲 置 状 态 是 无 空 循 环 这 就 防 止 了 CPU 在 闲 置 状 态 下 消 耗 不 必 要 的 电 力 但 是 如 果 您 的 系 统 中 有 生 成 不 必 要 计 时 器 事 件 的 应 用 程 序 就 会 抵 消 这 个 功 能 带 来 的 好 处 查 询 事 件 ( 比 如 音 量 更 改 鼠 标 移 动 等 ) 就 属 于 此 类 事 件 红 帽 企 业 版 Linux 6 包 括 您 可 用 来 根 据 其 CPU 用 量 识 别 审 核 程 序 的 工 具 详 情 请 参 考 第 2 章电 源 管 理 工 具 审 核 及 分 析 应 该 完 全 禁 用 不 使 用 的 硬 件 和 设 备 特 别 是 在 那 些 有 移 动 组 件 的 设 备 ( 比 如 硬 盘 ) 中 尤 其 重 要 另 外, 有 些 应 用 程 序 可 "open" 未 使 用 但 启 用 的 设 备, 当 出 现 这 种 情 况 时, 内 核 假 设 设 备 处 于 使 用 状 态, 这 样 就 会 阻 止 设 备 进 入 节 电 状 态 低 活 性 可 解 读 为 低 瓦 数 在 很 多 情 况 下 要 依 赖 先 进 的 硬 件 并 修 正 BIOS 配 置 旧 的 系 统 组 件 经 常 不 支 持 一 些 红 帽 企 业 版 Linux 6 中 支 持 的 新 特 性 请 确 定 您 系 统 使 用 的 是 最 新 的 官 方 固 件, 且 在 BIOS 中 的 电 源 管 理 或 者 设 备 配 置 部 分 启 用 了 电 源 管 理 功 能 您 需 要 查 看 的 功 能 包 括 : 变 频 (SpeedStep) PowerNow! Cool'n'Quiet ACPI (C 状 态 ) 智 能 如 果 您 的 硬 件 支 持 这 些 特 性, 且 在 BIOS 中 启 用 了 这 些 特 性, 红 帽 企 业 版 Linux 6 将 默 认 使 用 这 些 特 性 不 同 的 CPU 状 态 形 式 及 效 果 先 进 CPU 与 高 级 配 置 和 电 源 接 口 (ACPI) 共 同 提 供 不 同 的 电 源 状 态 三 种 不 同 的 状 态 为 : 4

第 1 章概 述 休 眠 (C 状 态 ) 运 行 (P 状 态 ) 散 热 (T 状 态 或 者 " 热 状 态 ") 以 最 低 休 眠 状 态 运 行 的 CPU 可 能 消 耗 最 少 的 电 力, 但 在 需 要 将 其 从 该 状 态 唤 醒 时 也 需 要 相 对 较 长 的 时 间 在 很 少 情 况 下 CPU 需 要 在 刚 刚 进 入 休 眠 状 态 后 就 马 上 需 要 被 唤 醒 这 种 情 况 导 致 一 个 持 久 有 效 的 忙 碌 CPU, 并 在 已 经 使 用 另 一 种 状 态 时 可 能 丧 失 潜 在 的 节 电 效 果 关 闭 的 机 器 使 用 的 电 量 最 少 很 明 显, 最 佳 的 节 电 方 法 就 是 关 闭 系 统 例 如 : 您 的 公 司 可 开 发 一 项 注 重 " 绿 色 IT" 的 企 业 文 化, 让 员 工 有 意 识 地 在 午 休 时 间 或 者 下 班 时 关 闭 机 器 您 还 可 以 将 几 台 物 理 服 务 器 合 并 成 一 个 较 大 的 服 务 器, 并 使 用 我 们 在 红 帽 企 业 版 Linux 6 中 附 带 的 虚 拟 化 技 术 将 其 虚 拟 化 5

电 源 管 理 指 南 第 2 章电 源 管 理 工 具 审 核 及 分 析 2.1. 审 核 及 分 析 概 述 对 单 一 系 统 进 行 详 细 手 册 审 核 分 析 以 及 调 整 很 少 见, 因 为 这 样 做 的 时 间 和 费 用 消 耗 一 般 都 会 超 过 进 行 这 些 最 后 系 统 微 调 带 来 的 好 处 但 是 为 可 在 基 本 一 致 的 大 量 系 统 中 重 复 使 用 相 同 的 设 置 而 执 行 这 些 任 务 是 非 常 有 用 的, 您 可 在 所 有 系 统 中 重 复 使 用 相 同 的 设 置 例 如 : 想 象 一 下 部 署 成 千 个 桌 面 系 统, 或 者 在 机 器 都 几 乎 完 全 一 样 的 HPC 群 集 中 另 一 个 执 行 审 核 和 分 析 的 理 由 是 提 供 进 行 比 较 的 基 准, 您 可 使 用 它 在 将 来 识 别 系 统 行 为 退 化 或 者 改 变 在 常 规 进 行 硬 件 BIOS 或 者 软 件 更 新, 且 您 不 想 被 电 源 消 耗 吓 到 的 情 况 下 这 些 分 析 结 果 非 常 有 用 通 常 完 整 的 审 核 和 分 析 可 让 您 对 具 体 系 统 中 的 情 况 有 更 好 的 了 解 根 据 电 源 消 耗 审 核 和 分 析 系 统 比 较 困 难, 即 便 使 用 最 先 进 的 系 统 也 是 如 此 大 多 数 系 统 不 会 提 供 测 量 软 件 耗 能 的 必 需 工 具 也 有 例 外 情 况 : 惠 普 服 务 器 系 统 的 ILO 管 理 控 制 台 有 电 源 模 块, 您 可 使 用 它 访 问 网 页 IBM 在 其 刀 片 中 心 电 源 管 理 模 块 中 提 供 类 似 的 解 决 方 案 在 有 些 Dell 系 统 中,IT 助 理 也 提 供 电 源 监 控 功 能 其 他 零 售 商 也 乐 于 为 其 服 务 器 平 台 提 供 类 似 的 功 能, 但 没 有 一 个 所 有 零 售 商 都 支 持 的 单 一 解 决 方 案 可 用 如 果 您 的 系 统 没 有 内 置 测 量 电 源 消 耗 的 机 制, 还 有 其 它 一 些 方 法 可 用 您 可 以 为 您 的 系 统 安 装 特 殊 的 电 源, 它 可 通 过 USB 提 供 电 源 消 耗 信 息 Gigabyte Odin GT 550 W PC 电 源 就 是 一 个 例 子, 软 件 从 那 些 Linux 系 统 中 读 取 的 值 可 用 于 http://mgmt.sresortth.sze.hu/~andras/dev/gopsu/ 最 后, 有 些 外 用 电 表, 比 如 Watts up? 产 品 也 有 USB 接 口 对 电 源 消 耗 的 直 接 测 量 通 常 只 在 尽 可 能 节 约 能 耗 时 需 要 幸 运 的 是 还 有 其 他 方 法 可 测 量 实 际 的 更 改 以 及 系 统 的 行 为 方 式 本 章 描 述 了 这 些 必 需 的 工 具 2.2. POWERTOP 红 帽 企 业 版 Linux 6 中 引 进 的 无 空 循 环 内 核 ( 请 参 考 第 3.4 节 无 空 循 环 内 核 ) 可 允 许 CPU 更 频 繁 地 进 入 闲 置 状 态, 降 低 能 耗 并 改 进 电 源 管 理 新 的 PowerTOP 工 具 可 识 别 具 体 是 哪 些 内 核 组 件 和 用 户 空 间 程 序 经 常 唤 醒 CPU PowerTOP 用 于 开 发 执 行 第 3.11 节 在 用 户 空 间 中 优 化 中 论 述 的 审 核, 这 样 就 在 这 个 发 行 本 中 调 整 了 很 多 程 序, 不 必 要 的 CPU 唤 醒 降 低 了 10 倍 使 用 以 下 命 令 安 装 PowerTOP: yum install powertop 使 用 以 下 命 令 运 行 PowerTOP: powertop 请 注 意 : 您 运 行 PowerTOP 将 需 要 root 特 权 方 可 允 许 程 序 有 效 运 行 当 PowerTOP 运 行 时 会 从 系 统 中 收 集 统 计 数 据 并 为 您 显 示 最 频 繁 向 CPU 发 送 唤 醒 请 求 的 组 件 列 表 PowerTOP 还 会 为 降 低 系 统 能 耗 向 您 提 出 建 议 这 些 建 议 出 现 在 屏 幕 底 部, 并 指 定 您 要 接 受 PowerTOP 建 议 时 需 要 按 的 按 键 因 为 PowerTOP 是 周 期 性 刷 新, 届 时 会 有 进 一 步 的 建 议 在 图 2.1 PowerTOP 操 作 中 中, 建 议 您 增 加 虚 拟 机 脏 回 写 时 间 以 及 接 受 该 建 议 时 要 按 的 按 键 (W) 当 PowerTOP 运 行 时 会 从 系 统 中 收 集 统 计 数 据 并 为 您 显 示 几 个 重 要 信 息 列 表 列 表 顶 端 是 您 的 CPU 核 处 于 可 用 C 状 态 和 P 状 态 的 时 间 长 度 CPU 处 于 C 状 态 或 者 P 状 态 时 间 越 长 越 好 (C4 高 于 C3), 也 显 示 了 是 如 何 更 好 利 用 CPU 的 您 的 目 标 应 该 是 90% 或 者 以 上 的 时 间 CPU 处 于 C 状 态 或 者 P 状 态, 其 余 时 间 系 统 处 于 闲 置 状 态 第 二 项 信 息 是 机 器 每 秒 实 际 唤 醒 总 数 每 秒 唤 醒 数 让 您 根 据 系 统 电 源 消 耗 了 解 服 务 或 者 设 备 以 及 内 核 驱 动 程 序 是 否 运 行 良 好 每 秒 唤 醒 数 越 大, 耗 能 越 多, 因 此 这 里 数 字 越 小 越 好 6

第 2 章电 源 管 理 工 具 审 核 及 分 析 下 一 步, 如 果 可 能,PowerTOP 提 供 系 统 电 源 使 用 的 估 计 值 预 计 PowerTOP 会 在 使 用 电 池 模 式 的 笔 记 本 电 脑 中 报 告 这 个 数 字 所 有 可 用 耗 电 估 计 值 都 跟 着 一 个 最 常 向 CPU 发 送 唤 醒 的 组 件 详 细 列 表 列 表 的 顶 端 是 那 些 您 需 要 更 详 细 调 查 以 便 优 化 系 统 降 低 能 耗 的 组 件 如 果 它 们 是 内 核 组 件 ( 组 件 名 称 被 列 在 <> 中 ), 那 么 唤 醒 通 常 与 导 致 这 些 唤 醒 的 特 定 驱 动 程 序 关 联 调 整 驱 动 程 序 通 常 需 要 更 改 内 核, 这 已 经 超 出 本 文 档 涉 及 范 围 但 是, 发 送 唤 醒 的 用 户 空 间 进 程 更 容 易 管 理 首 先 要 确 认 这 个 服 务 或 者 应 用 程 序 是 否 应 该 在 这 个 系 统 中 运 行 如 果 不 是, 只 要 失 活 它 即 可 要 永 久 关 闭 某 个 服 务, 请 运 行 : chkconfig servicename off 如 果 您 需 要 了 解 该 组 件 具 体 执 行 任 务 的 详 细 信 息, 请 运 行 : ps -awux grep componentname strace -p processid 如 果 追 踪 看 来 像 是 不 断 的 重 复, 那 么 您 可 能 已 经 找 到 了 忙 碌 回 路 要 修 复 这 个 问 题 需 要 更 改 那 个 组 件 的 代 码, 但 这 已 经 超 出 本 文 档 的 范 围 最 后,PowerTOP 还 会 为 降 低 系 统 能 耗 向 您 提 出 建 议 这 些 建 议 出 现 在 屏 幕 底 部, 并 指 定 您 要 接 受 PowerTOP 建 议 时 需 要 按 的 按 键 因 为 PowerTOP 是 周 期 性 刷 新, 届 时 会 有 进 一 步 的 建 议 在 图 2.1 PowerTOP 操 作 中 中, 备 注 建 议 您 增 加 虚 拟 机 脏 回 写 时 间 以 及 接 受 该 建 议 时 要 按 的 按 键 (W) 这 些 更 改 要 在 下 一 次 引 导 时 生 效 要 使 这 些 更 改 持 久,PowerTOP 会 显 示 执 行 这 个 优 化 具 体 要 执 行 的 命 令 请 使 用 您 的 首 选 文 本 编 辑 器 在 您 的 /etc/rc.local 文 件 中 添 加 命 令 以 便 其 在 每 次 启 动 计 算 机 时 都 有 效 图 2.1. PowerTOP 操 作 中 7

电 源 管 理 指 南 Less Watts 网 站 发 布 了 由 PowerTOP 识 别 的 保 持 CPU 活 跃 的 应 用 程 序 列 表 请 参 考 http://www.lesswatts.org/projects/powertop/known.php 2.3. DISKDEVSTAT 和 NETDEVSTAT Diskdevstat 和 netdevstat 是 收 集 有 关 磁 盘 活 性 以 及 在 系 统 中 运 行 的 所 有 程 序 的 网 络 活 性 的 SystemTap 工 具 这 些 工 具 是 由 PowerTOP 支 配, 并 可 显 示 每 秒 钟 每 个 程 序 唤 醒 CPU 的 次 数 ( 请 参 考 第 2.2 节 PowerTOP ) 这 些 工 具 收 集 的 统 计 可 让 您 识 别 那 些 使 用 很 多 小 I/O 操 作 的 程 序, 它 们 比 少 量 的 较 大 操 作 更 耗 能 其 它 监 控 工 具 只 是 测 量 传 输 速 度, 无 法 帮 助 确 认 此 类 使 用 使 用 SystemTap 的 命 令 安 装 这 些 工 具 : yum install systemtap tuned-utils kernel-debuginfo 使 用 如 下 命 令 运 行 这 些 工 具 : diskdevstat 或 者 命 令 : netdevstat 这 两 个 命 令 最 多 可 有 三 个 参 数, 如 下 所 示 : diskdevstat update_interval total_duration display_histogram netdevstat update_interval total_duration display_histogram update_interval 以 秒 为 单 位 的 显 示 更 新 间 隔 时 间 默 认 :5 total_duration 以 秒 为 单 位 显 示 整 体 运 行 时 间 默 认 :86400( 一 天 ) display_histogram 是 否 显 示 在 运 行 结 束 时 收 集 的 所 有 数 据 柱 形 图 的 标 签 输 出 结 果 类 似 PowerTOP 这 里 是 来 自 使 用 KDE 4.2 的 Fedora 10 系 统 中 运 行 的 diskdevstat 详 细 输 出 结 果 示 例 : PID UID DEV WRITE_CNT WRITE_MIN WRITE_MAX WRITE_AVG READ_CNT READ_MIN READ_MAX READ_AVG COMMAND 2789 2903 sda1 854 0.000 120.000 39.836 0 0.000 0.000 0.000 plasma 15494 0 sda1 0 0.000 0.000 0.000 758 0.000 0.012 0.000 0logwatch 15520 0 sda1 0 0.000 0.000 0.000 140 0.000 0.009 0.000 perl 15549 0 sda1 0 0.000 0.000 0.000 140 0.000 0.009 0.000 perl 15585 0 sda1 0 0.000 0.000 0.000 108 0.001 0.002 0.000 perl 8

第 2 章电 源 管 理 工 具 审 核 及 分 析 2573 0 sda1 63 0.033 3600.015 515.226 0 0.000 0.000 0.000 auditd 15429 0 sda1 0 0.000 0.000 0.000 62 0.009 0.009 0.000 crond 15379 0 sda1 0 0.000 0.000 0.000 62 0.008 0.008 0.000 crond 15473 0 sda1 0 0.000 0.000 0.000 62 0.008 0.008 0.000 crond 15415 0 sda1 0 0.000 0.000 0.000 62 0.008 0.008 0.000 crond 15433 0 sda1 0 0.000 0.000 0.000 62 0.008 0.008 0.000 crond 15425 0 sda1 0 0.000 0.000 0.000 62 0.007 0.007 0.000 crond 15375 0 sda1 0 0.000 0.000 0.000 62 0.008 0.008 0.000 crond 15477 0 sda1 0 0.000 0.000 0.000 62 0.007 0.007 0.000 crond 15469 0 sda1 0 0.000 0.000 0.000 62 0.007 0.007 0.000 crond 15419 0 sda1 0 0.000 0.000 0.000 62 0.008 0.008 0.000 crond 15481 0 sda1 0 0.000 0.000 0.000 61 0.000 0.001 0.000 crond 15355 0 sda1 0 0.000 0.000 0.000 37 0.000 0.014 0.001 laptop_mode 2153 0 sda1 26 0.003 3600.029 1290.730 0 0.000 0.000 0.000 rsyslogd 15575 0 sda1 0 0.000 0.000 0.000 16 0.000 0.000 0.000 cat 15581 0 sda1 0 0.000 0.000 0.000 12 0.001 0.002 0.000 perl 15582 0 sda1 0 0.000 0.000 0.000 12 0.001 0.002 0.000 perl 15579 0 sda1 0 0.000 0.000 0.000 12 0.000 0.001 0.000 perl 15580 0 sda1 0 0.000 0.000 0.000 12 0.001 0.001 0.000 perl 15354 0 sda1 0 0.000 0.000 0.000 12 0.000 0.170 0.014 sh 15584 0 sda1 0 0.000 0.000 0.000 12 0.001 0.002 0.000 perl 15548 0 sda1 0 0.000 0.000 0.000 12 0.001 0.014 0.001 perl 15577 0 sda1 0 0.000 0.000 0.000 12 0.001 0.003 0.000 perl 15519 0 sda1 0 0.000 0.000 0.000 12 0.001 0.005 0.000 perl 15578 0 sda1 0 0.000 0.000 0.000 12 0.001 0.001 0.000 perl 15583 0 sda1 0 0.000 0.000 0.000 12 0.001 0.001 0.000 perl 15547 0 sda1 0 0.000 0.000 0.000 11 0.000 0.002 0.000 perl 15576 0 sda1 0 0.000 0.000 0.000 11 0.001 0.001 0.000 perl 9

电 源 管 理 指 南 15518 0 sda1 0 0.000 0.000 0.000 11 0.000 0.001 0.000 perl 15354 0 sda1 0 0.000 0.000 0.000 10 0.053 0.053 0.005 lm_lid.sh 这 些 列 代 表 : PID 应 用 程 序 的 进 程 ID UID 运 行 中 的 应 用 程 序 用 户 ID DEV 发 生 I/O 的 设 备 WRITE_CNT 写 操 作 总 数 WRITE_MIN 两 个 连 续 写 入 操 作 所 需 最 短 时 间 ( 以 秒 为 单 位 ) WRITE_MAX 两 个 连 续 写 入 操 作 所 需 最 长 时 间 ( 以 秒 为 单 位 ) WRITE_AVG 两 个 连 续 写 入 操 作 所 需 平 均 时 间 ( 以 秒 为 单 位 ) READ_CNT 读 操 作 的 总 数 READ_MIN 两 个 连 续 读 操 作 所 需 最 短 时 间 ( 以 秒 为 单 位 ) READ_MAX 两 个 连 续 读 操 作 所 需 最 长 时 间 ( 以 秒 为 单 位 ) READ_AVG 两 个 连 续 读 操 作 所 需 平 均 时 间 ( 以 秒 为 单 位 ) COMMAND 进 程 名 称 在 这 个 示 例 中 可 看 到 三 个 非 常 明 显 的 应 用 程 序 : PID UID DEV WRITE_CNT WRITE_MIN WRITE_MAX WRITE_AVG READ_CNT READ_MIN READ_MAX READ_AVG COMMAND 2789 2903 sda1 854 0.000 120.000 39.836 0 10

第 2 章电 源 管 理 工 具 审 核 及 分 析 0.000 0.000 0.000 plasma 2573 0 sda1 63 0.033 3600.015 515.226 0 0.000 0.000 0.000 auditd 2153 0 sda1 26 0.003 3600.029 1290.730 0 0.000 0.000 0.000 rsyslogd 这 三 个 应 用 程 序 的 WRITE_CNT 都 大 于 0, 就 是 说 它 们 在 管 理 期 间 执 行 了 一 些 写 操 作 其 中 plasma 是 最 捣 乱 的 程 序 : 它 执 行 的 写 操 作 作 多, 当 然 写 操 作 平 均 间 隔 时 间 就 最 短 如 果 您 关 注 不 能 有 效 利 用 能 源 的 程 序, 那 么 Plasma 就 是 最 佳 审 查 对 象 请 使 用 strace 和 ltrace 命 令, 通 过 追 踪 所 有 给 定 进 程 ID 的 系 统 调 用 更 进 一 步 检 查 应 用 程 序 在 这 个 示 例 中, 您 可 以 运 行 : strace -p 2789 在 这 个 示 例 中,strace 的 输 出 结 果 中 包 含 一 个 每 45 秒 重 复 一 次 的 图 案, 该 图 案 打 开 用 户 的 KDE 图 标 缓 冲 文 件, 接 着 写 入, 然 后 马 上 再 次 关 闭 该 文 件 这 导 致 一 个 在 硬 盘 中 的 必 需 物 理 写 入, 因 为 已 经 更 改 了 文 件 原 数 据 ( 特 别 是 修 改 时 间 ) 最 终 修 复 是 防 止 那 些 在 没 有 图 标 更 新 时 的 不 必 要 调 用 2.4. 电 池 寿 命 工 具 组 件 (BATTERY LIFE TOOL KIT) 红 帽 企 业 版 Linux 6 引 进 了 Battery Life Tool Kit(BLTK), 它 是 一 个 模 拟 和 分 析 电 池 寿 命 和 性 能 的 测 试 组 件 BLTK 通 过 执 行 一 组 模 拟 特 定 用 户 组 群 的 任 务 并 报 告 结 果 达 到 此 目 的 虽 然 是 特 别 用 于 测 试 笔 记 本 电 脑 性 能 的 开 发,BLTK 还 可 使 用 -a 在 启 动 时 报 告 桌 面 电 脑 性 能 BLTK 允 许 您 生 成 比 实 际 机 器 使 用 要 容 易 得 多 的 重 复 负 载 例 如 : 办 公 负 载 写 入 一 个 文 本, 在 其 中 进 行 一 些 修 改, 并 在 一 个 电 子 表 格 中 进 行 同 样 的 操 作 运 行 带 PowerTOP 或 者 任 何 其 它 审 核 及 分 析 工 具 的 BLTK, 就 可 让 您 测 试 您 执 行 的 优 化 在 机 器 被 激 活 后, 不 处 于 闲 置 状 态 时 是 否 有 效 因 为 您 可 以 在 不 同 设 置 中 多 次 运 行 同 样 的 负 载, 并 比 较 不 同 设 置 得 到 的 结 果 使 用 以 下 命 令 安 装 BLTK: yum install bltk 使 用 以 下 命 令 运 行 BLTK: bltk workload options 例 如 : 运 行 闲 置 负 载 120 秒 : bltk -I -T 120 默 认 可 用 工 作 负 载 有 : -I, --idle 系 统 闲 置, 将 其 作 为 与 其 它 负 载 进 行 比 较 的 基 准 -R, --reader 模 拟 读 取 文 档 ( 默 认 为 Firefox) -P, --player 模 拟 观 看 CD 或 者 DVD 驱 动 器 中 的 多 媒 体 文 件 ( 默 认 为 mplayer) 11

电 源 管 理 指 南 -O, --office 模 拟 使 用 OpenOffice.org 套 件 编 辑 文 件 其 它 可 让 您 指 定 的 选 项 : -a, --ac-ignore 忽 略 是 否 交 流 电 可 用 ( 桌 面 系 统 使 用 时 需 要 ) -T number_of_seconds, --time number_of_seconds 运 行 测 试 的 时 间 ( 以 秒 为 单 位 ), 在 闲 置 负 载 中 使 用 这 个 选 项 -F filename, --file filename 指 定 特 定 负 载 使 用 的 文 件, 例 如 播 放 器 负 载 要 使 用 的 文 件, 而 不 是 访 问 CD 或 者 DVD 驱 动 器 -W application, --prog application 指 定 特 定 负 载 使 用 的 应 用 程 序, 例 如 :Firefox 之 外 用 于 读 卡 器 负 载 的 浏 览 器 BLTK 支 持 大 量 更 具 体 的 选 项 详 情 请 参 考 bltk man page BLTK 保 存 /etc/bltk.conf 配 置 文 件 指 定 目 录 生 成 的 结 果 -- 默 认 为 ~/.bltk/workload.results.number/ 例 如 :~/.bltk/reader.results.002/ 目 录 中 保 存 第 三 次 阅 读 器 测 试 负 载 的 结 果 ( 第 一 次 不 计 数 ) 结 果 保 存 在 几 个 文 本 文 件 中 要 将 这 些 结 果 压 缩 成 方 便 读 取 的 格 式, 请 运 行 : bltk_report path_to_results_directory 现 在 结 果 出 现 在 结 果 目 录 下 名 为 Report 的 文 件 中 要 在 终 端 模 拟 器 中 查 看 结 果, 请 使 用 -o 选 项 : bltk_report -o path_to_results_directory 2.5. TUNED 和 KTUNE Tuned 是 监 控 系 统 组 件 使 用 的 守 护 进 程, 并 可 根 据 监 控 信 息 动 态 调 整 系 统 设 置 在 任 意 正 常 运 行 的 给 定 系 统 中, 为 各 种 系 统 组 件 进 行 动 态 帐 户 调 整 的 方 法 都 不 尽 相 同 例 如 : 在 启 动 和 登 录 过 程 中 会 大 量 使 用 硬 盘, 但 在 之 后 用 户 主 要 使 用 类 似 OpenOffice 或 者 电 子 邮 件 客 户 端 等 程 序 时 就 几 乎 不 使 用 硬 盘 了 同 样, 不 同 时 间 对 CPU 和 网 络 设 备 的 使 用 是 不 同 的 Tuned 监 控 这 些 组 件 的 活 动 并 在 其 使 用 中 有 所 改 动 以 典 型 办 公 室 工 作 站 为 例 大 多 数 时 间 里, 以 太 网 网 络 接 口 将 会 非 常 不 活 跃 过 一 段 时 间 只 有 一 些 电 子 邮 件 进 出, 或 者 载 入 一 些 网 页 对 于 那 类 负 载, 网 络 接 口 不 一 定 在 所 有 时 间 都 按 默 认 设 置 那 样 全 速 运 行 Tuned 有 一 个 用 于 网 络 设 备 的 监 控 和 调 整 插 件, 可 用 来 探 测 低 活 性, 并 自 动 降 低 接 口 速 度, 通 常 也 就 降 低 了 电 力 消 耗 如 果 接 口 活 性 在 较 长 时 间 段 内 大 幅 度 增 长, 例 如 下 载 DVD 映 像 或 者 打 开 有 大 附 件 的 电 子 邮 件,tuned 可 探 测 到 这 个 情 况 并 将 接 口 速 度 设 定 为 最 大 以 便 在 高 活 性 等 级 时 提 供 最 佳 性 能 这 个 原 则 也 用 于 其 他 CPU 和 硬 盘 插 件 网 络 设 备 不 是 默 认 配 置 为 这 样 动 作, 因 为 速 度 更 改 需 要 有 几 秒 钟 之 后 方 可 生 效, 因 此 对 用 户 体 验 有 直 接 和 可 见 的 影 响 同 样 的 考 虑 也 适 用 于 CPU 和 硬 盘 调 整 插 件 当 硬 盘 转 速 降 低 时, 它 可 能 需 要 几 秒 钟 时 间 重 新 提 高 转 速, 这 将 导 致 系 统 在 此 阶 段 有 明 显 的 反 应 延 迟 CPU 插 件 的 延 迟 副 作 用 最 小, 但 仍 可 测 到, 只 是 用 户 很 难 注 意 到 而 已 12

第 2 章电 源 管 理 工 具 审 核 及 分 析 现 在 除 tuned 外, 我 们 还 为 您 提 供 ktune Ktune 是 由 红 帽 企 业 版 Linux 5.3 作 为 用 于 具 体 使 用 案 例 的 机 器 优 化 性 能 而 引 进 的 框 架 和 服 务 从 那 时 起,ktune 有 很 大 程 度 的 改 进, 现 在 我 们 使 用 它 作 为 一 般 调 节 框 架 的 固 定 部 分 它 主 要 用 于 第 2.5.2 节 Tuned-adm 中 描 述 的 不 同 的 预 定 义 侧 写 使 用 以 下 命 令 安 装 tuned 软 件 包 及 其 关 联 的 systemtap 脚 本 : yum install tuned 安 装 tuned 软 件 包 还 会 在 /etc/tuned.conf 中 设 定 一 个 示 例 配 置 文 件, 并 激 活 默 认 侧 写 运 行 以 下 命 令 启 动 tuned: service tuned start 要 在 每 次 机 器 引 导 时 启 动 tuned, 请 运 行 : chkconfig tuned on Tuned 有 可 选 选 项, 您 可 在 手 动 运 行 该 程 序 时 使 用 可 用 选 项 有 : -d, --daemon 将 tuned 作 为 守 护 进 程 启 动, 而 不 是 在 前 台 启 动 -c, --conffile 使 用 有 具 体 名 称 和 路 径 的 配 置 文 件, 例 如 :--conffile=/etc/tuned2.conf 默 认 为 /etc/tuned.conf -D, --debug 使 用 日 志 记 录 的 最 高 级 别 2.5.1. tuned.conf 文 件 tuned.conf 文 件 包 含 tuned 配 置 设 定 默 认 情 况 下, 它 位 于 /etc/tuned.conf, 但 您 可 以 通 过 启 动 带 --conffile 选 项 的 tuned.conf 指 定 一 个 不 同 的 名 称 和 位 置 配 置 文 件 必 须 含 有 为 tuned 定 义 通 用 参 数 的 [main] 部 分 该 文 件 还 应 为 每 个 插 件 包 含 一 个 部 分 [main] 部 分 包 含 以 下 选 项 : interval tuned 应 该 监 控 并 调 节 系 统 的 时 间 间 隔, 单 位 为 秒 默 认 值 为 10 verbose 指 定 输 出 结 果 是 否 应 该 详 细 默 认 值 为 False logging 指 定 要 记 录 信 息 的 最 小 优 先 权 按 降 序 排 列 允 许 的 值 有 :critical error warning info 和 debug 默 认 值 为 info 13

电 源 管 理 指 南 logging_disable 指 定 要 记 录 信 息 的 最 大 优 先 权, 任 何 带 这 个 优 先 权 或 者 更 低 的 优 先 权 将 不 被 记 录 critical error warning info 和 debug notset 禁 用 这 个 选 项 每 个 插 件 都 有 其 自 身 的 片 段, 在 方 括 号 内 指 定 插 件 名 称 例 如 :[CPUTuning] 每 个 插 件 可 有 其 自 身 的 选 项, 但 以 下 内 容 适 用 于 所 有 插 件 : enabled 指 定 是 否 启 用 该 插 件 默 认 值 为 True verbose 指 定 输 出 是 否 应 详 细 如 果 没 有 为 这 个 插 件 设 定, 该 值 会 继 承 [main] 中 的 值 logging 指 定 要 记 录 信 息 的 最 小 优 先 权 如 果 没 有 为 这 个 插 件 设 定, 该 值 会 继 承 [main] 中 的 值 示 例 配 置 文 件 如 下 : [main] interval=10 pidfile=/var/run/tuned.pid logging=info logging_disable=notset # Disk monitoring section [DiskMonitor] enabled=true logging=debug # Disk tuning section [DiskTuning] enabled=true hdparm=false alpm=false logging=debug # Net monitoring section [NetMonitor] enabled=true logging=debug # Net tuning section [NetTuning] enabled=true logging=debug # CPU monitoring section 14

第 2 章电 源 管 理 工 具 审 核 及 分 析 [CPUMonitor] # Enabled or disable the plugin. Default is True. Any other value # disables it. enabled=true # CPU tuning section [CPUTuning] # Enabled or disable the plugin. Default is True. Any other value # disables it. enabled=true 2.5.2. Tuned-adm 通 常 具 体 的 系 统 审 核 和 分 析 非 常 耗 时, 且 这 样 做 也 不 节 能 之 前, 唯 一 的 备 选 方 案 是 使 用 默 认 设 置 因 此, 红 帽 企 业 版 Linux 6 tuned-adm 工 具 中 包 含 在 两 种 极 端 状 态 间 可 作 为 备 选 使 用 的 具 体 案 例 中 的 独 立 侧 写, 这 样 就 可 让 您 使 用 命 令 行 在 这 些 侧 写 间 轻 松 进 行 切 换 红 帽 企 业 版 Linux 6 包 含 很 多 用 于 典 型 案 例 的 预 定 侧 写, 您 只 要 使 用 tuned-adm 命 令 即 可 选 择 并 激 活 它 们, 但 您 也 要 自 己 创 建 修 改 并 删 除 侧 写 要 列 出 所 有 可 用 侧 写 并 识 别 目 前 激 活 的 侧 写, 请 运 行 : tuned-adm list 要 只 显 示 当 前 激 活 的 侧 写 请 运 行 : tuned-adm active 要 切 换 到 某 个 可 用 侧 写 请 运 行 : tuned-adm profile profile_name 例 如 : tuned-adm profile server-powersave 要 禁 用 所 有 调 整 : tuned-adm off 您 第 一 次 安 装 tuned 时 会 激 活 default 侧 写 红 帽 企 业 版 Linux 6 还 包 括 以 下 事 先 定 义 的 侧 写 : default 默 认 节 能 侧 写 它 在 可 用 侧 写 节 能 中 影 响 最 小, 只 启 用 CPU 和 tuned 磁 盘 插 件 desktop-powersave 在 桌 面 系 统 中 使 用 的 节 能 侧 写 为 SATA 主 机 适 配 器 以 及 CPU 以 太 网 和 tuned 磁 盘 插 件 启 用 ALPM 节 能 ( 请 参 考 第 3.6 节 主 动 连 接 电 源 管 理 ) server-powersave 在 服 务 器 系 统 中 使 用 的 节 能 侧 写 为 SATA 主 机 适 配 器 启 用 ALPM 节 能, 禁 止 通 过 HAL 调 用 光 驱 ( 请 参 考 hal-disable-polling man page) 并 激 活 CPU 和 tuned 磁 盘 插 件 15

电 源 管 理 指 南 laptop-ac-powersave 在 使 用 AC 运 行 的 笔 记 本 电 脑 中 使 用 的 中 度 影 响 节 能 侧 写 为 SATA 主 机 适 配 器 WiFi 节 能 以 及 CPU 以 太 网 和 tuned 磁 盘 插 件 启 用 ALPM 节 能 laptop-battery-powersave 在 使 用 电 池 运 行 的 笔 记 本 电 脑 中 使 用 的 高 度 影 响 节 能 侧 写 它 从 之 前 的 侧 写 中 激 活 所 有 节 能 机 制, 并 为 低 唤 醒 系 统 启 用 多 核 节 能 调 度 程 序, 确 定 按 需 调 节 器 处 于 活 跃 状 态, 并 弃 用 了 AC97 音 频 节 能 您 可 以 使 用 这 个 侧 写 在 任 何 类 型 的 系 统 中 最 大 限 度 节 能, 不 仅 仅 限 于 在 使 用 电 池 的 笔 记 本 电 脑 中 使 用 使 用 这 个 侧 写 的 代 价 是 对 性 能 的 明 显 影 响, 特 别 是 磁 盘 和 网 络 I/O 延 迟 throughput-performance 用 于 典 型 吞 吐 性 能 调 整 的 服 务 器 侧 写 它 可 禁 用 tuned 和 ktune 节 能 机 制, 启 用 sysctl 设 置 改 进 您 的 磁 盘 和 网 络 I/O 吞 吐 性 能, 并 切 换 到 deadline scheduler latency-performance 用 于 典 型 延 迟 性 能 调 整 的 服 务 器 侧 写 它 可 禁 用 tuned 和 ktune 节 能 机 制, 启 用 sysctl 设 置 改 进 您 的 磁 盘 和 网 络 I/O 延 迟 性 能 所 有 侧 写 都 保 存 在 /etc/tune-profiles 下 的 独 立 子 目 录 中 因 此 /etc/tuneprofiles/desktop-powersave 包 含 所 有 需 要 的 文 件 以 及 那 个 侧 写 的 设 置 每 个 目 录 最 多 包 含 四 个 文 件 : tuned.conf 为 这 个 侧 写 激 活 调 整 服 务 的 配 置 sysctl.ktune ktune 使 用 的 sysctl 设 置 其 格 式 与 /etc/sysconfig/sysctl 文 件 一 致 ( 请 参 考 sysctl 和 sysctl.conf man page) ktune.sysconfig ktune 的 自 身 配 置 文 件, 通 常 为 /etc/sysconfig/ktune ktune.sh ktune 服 务 使 用 的 init 风 格 的 shell 脚 本, 可 在 系 统 启 动 过 程 中 运 行 特 定 命 令 调 整 系 统 启 动 一 个 新 侧 写 的 最 简 单 方 法 就 是 复 制 现 有 的 侧 写 laptop-battery-powersave 侧 写 中 已 经 包 含 丰 富 的 调 整 设 置, 因 此 是 有 益 的 起 始 点 只 要 将 这 个 目 录 复 制 到 如 下 名 称 的 新 侧 写 中 即 可 : cp -a /etc/tune-profiles/laptop-battery-powersave/ /etc/tuneprofiles/myprofile 在 新 侧 写 中 修 改 文 件 以 达 到 您 的 个 人 需 要 例 如 : 如 果 您 要 探 测 CD 更 改, 则 您 可 以 通 过 注 释 出 ktune.sh 脚 本 中 的 相 关 行 来 禁 用 那 个 优 化 : # Disable HAL polling of CDROMS # for i in /dev/scd*; do hal-disable-polling --device $i; done > /dev/null 2>&1 16

第 2 章电 源 管 理 工 具 审 核 及 分 析 2.6. DEVICEKIT-POWER 和 DEVKIT-POWER 在 红 帽 企 业 版 Linux 6 中,DeviceKit-power 承 担 原 本 是 HAL 一 部 分 的 电 源 管 理 功 能, 以 及 在 之 前 的 红 帽 企 业 版 Linux 发 行 本 中 的 GNOME Power Manager 的 一 部 分 功 能 ( 还 可 参 考 第 2.7 节 GNOME 电 源 管 理 器 ) DeviceKit-power 提 供 守 护 进 程 API 和 一 组 命 令 行 工 具 系 统 中 的 每 个 电 源 都 使 用 一 个 设 备 代 表, 无 论 是 否 为 物 理 电 源 例 如 : 笔 记 本 电 脑 电 池 和 交 流 电 源 都 使 用 设 备 代 表 您 可 使 用 devkit-power 命 令 访 问 命 令 行 工 具, 以 下 是 其 选 项 : --enumerate, -e 显 示 系 统 中 每 个 电 源 设 备 的 对 象 路 径, 例 如 : /org/freedesktop/devicekit/power/devices/line_power_ac /org/freedesktop/upower/devicekit/power/battery_bat0 --dump, -d 显 示 系 统 中 所 有 电 源 设 备 的 参 数 --wakeups, -w 显 示 系 统 中 的 CPU 唤 醒 --monitor, -m 监 视 系 统 电 源 更 换, 例 如 : 连 接 或 者 断 开 交 流 电 源, 或 者 电 池 耗 尽 按 Ctrl+C 停 止 监 视 系 统 --monitor-detail 监 视 系 统 电 源 更 换, 例 如 : 连 接 或 者 断 开 交 流 电 源, 或 者 电 池 耗 尽 --monitor-detail 选 项 会 显 示 比 --monitor 选 项 更 详 细 的 情 况 按 Ctrl+C 停 止 监 视 系 统 --show-info object_path, -i object_path 显 示 某 个 具 体 对 象 路 径 的 所 有 可 用 信 息 例 如 : 获 得 有 关 系 统 中 对 象 路 径 /org/freedesktop/upower/devicekit/power/battery_bat0 代 表 的 电 池 的 信 息, 请 运 行 : devkit-power -i /org/freedesktop/upower/devicekit/power/battery_bat0 2.7. GNOME 电 源 管 理 器 GNOME Power Manager 是 作 为 GNOME 桌 面 一 部 分 安 装 的 守 护 进 程 GNOME Power Manager 在 之 前 红 帽 企 业 版 Linux 版 本 中 提 供 的 很 多 电 源 管 理 功 能 已 经 在 红 帽 企 业 版 Linux 6 中 成 为 DeviceKit-power 的 一 部 分 ( 请 参 考 第 2.6 节 DeviceKit-power 和 devkit-power ) 但 是 GNOME Power Manager 仍 保 留 前 端 功 能 在 系 统 托 盘 中 GNOME Power Manager 可 使 用 同 一 程 序 通 知 您 系 统 电 源 状 态 的 改 变, 例 如 : 从 电 池 更 换 到 交 流 电 它 还 可 报 告 电 池 状 态 并 在 电 池 电 量 低 时 提 出 警 告 GNOME Power Manager 还 可 允 许 您 配 置 一 些 基 本 电 源 管 理 设 置 要 访 问 这 些 设 置, 请 点 击 系 统 托 盘 中 的 GNOME Power Manager 图 标, 然 后 点 击 属 性 电 源 管 理 属 性 页 面 中 有 三 个 标 签 : 使 用 交 流 电 17

电 源 管 理 指 南 使 用 电 池 常 规 使 用 使 用 交 流 电 和 使 用 电 池 标 签 指 定 必 须 经 过 多 长 时 间 方 可 关 闭 不 活 跃 系 统 中 的 显 示, 必 须 经 过 多 长 时 间 方 可 将 不 活 跃 系 统 置 于 睡 眠 状 态, 以 及 是 否 在 不 使 用 系 统 时 停 止 磁 盘 驱 动 器 使 用 电 池 标 签 还 可 允 许 您 设 置 显 示 亮 度 并 选 择 系 统 处 于 非 常 低 电 池 容 量 时 的 行 为 例 如 : 默 认 情 况 下 GNOME Power Manager 在 电 池 容 量 达 到 一 定 程 度 时 使 系 统 休 眠 使 用 常 规 标 签 设 定 系 统 中 的 ( 物 理 ) 电 源 按 钮 和 挂 起 按 钮 行 为, 并 指 定 在 什 么 情 况 下 在 系 统 托 盘 中 显 示 GNOME Power Manager 图 标 2.8. 其 他 审 核 方 法 红 帽 企 业 版 Linux 6 提 供 很 多 执 行 系 统 审 核 及 分 析 的 工 具 大 多 数 可 作 为 附 加 信 息 资 源 使 用, 以 防 您 需 要 对 现 有 发 现 进 行 验 证 或 者 您 需 要 对 某 部 分 信 息 进 行 更 深 入 的 研 究 很 多 这 些 工 具 也 可 用 于 性 能 调 试 它 们 包 括 : vmstat vmstat 为 您 给 出 有 关 进 程 内 存 paging 块 I/O 陷 阱 以 及 CPU 活 性 的 详 细 资 料 用 它 可 进 一 步 查 看 系 统 都 做 了 什 么, 以 及 什 么 地 方 忙 碌 iostat iostat 与 vmstat 类 似, 但 只 在 块 设 备 中 是 这 样 它 还 提 供 更 多 详 细 输 出 和 统 计 blktrace blktrace 是 一 个 非 常 详 细 的 块 I/O 追 踪 程 序 它 将 信 息 截 成 与 程 序 关 联 的 单 一 块 与 diskdevstat 合 并 使 用 时 非 常 有 用 18

第 3 章核 心 基 础 结 构 及 技 巧 第 3 章核 心 基 础 结 构 及 技 巧 3.1. CPU 闲 置 状 态 使 用 x86 构 架 的 CPU 支 持 不 同 的 状 态, 在 这 些 状 态 中 部 分 CPU 会 被 取 消 激 活 或 者 以 低 性 能 设 置 运 行 这 些 状 态, 也 就 是 我 们 知 道 的 C 状 态, 允 许 系 统 通 过 部 分 取 消 激 活 其 不 使 用 的 CPU 达 到 节 能 的 目 的 C 状 态 从 C0 开 始 用 数 字 计 算, 数 字 越 大 代 表 CPU 功 能 降 低 越 多, 也 就 越 节 能 虽 然 给 定 数 字 的 C 状 态 在 不 同 处 理 器 间 类 似, 但 为 特 定 处 理 器 或 者 处 理 器 产 品 线 使 用 的 特 定 C 状 态 的 含 义 是 特 定 的 C 状 态 0-3 定 义 如 下 : C0 操 作 或 者 运 行 状 态 在 这 个 状 态 中,CPU 处 于 工 作 状 态, 完 全 没 有 空 闲 C1, 挂 起 处 理 器 不 执 行 任 何 步 骤 的 状 态, 但 通 常 不 处 于 较 低 功 率 状 态 CPU 可 继 续 进 行 处 理 而 没 有 延 迟 所 有 提 供 C 状 态 的 处 理 器 都 需 要 支 持 这 个 状 态 奔 腾 4 处 理 器 支 持 改 进 的 C1 状 态, 即 C1E, 它 实 际 上 是 一 个 低 能 耗 状 态 C2, 时 钟 停 止 在 这 个 状 态 中 处 理 器 停 止 时 钟, 但 它 让 其 暂 存 器 和 缓 冲 保 持 完 整 状 态, 因 此 重 新 启 动 时 钟 后, 它 可 以 立 即 重 新 启 动 处 理 这 是 一 个 可 选 状 态 C3, 休 眠 处 理 器 真 正 进 入 睡 眠 状 态 且 不 需 要 保 存 保 持 更 新 其 缓 冲 因 此 从 这 个 状 态 唤 醒 的 时 间 要 大 大 长 于 从 C2 唤 醒 的 时 间 这 也 是 一 个 可 选 状 态 最 近 使 用 "Nehalem" 微 构 架 的 Intel CPU 有 新 的 C 状 态, 即 C6 它 可 将 供 应 CPU 的 电 压 降 低 到 0, 但 通 常 的 节 能 率 在 80% 到 90% 之 间 红 帽 企 业 版 Linux 6 中 的 内 核 包 括 对 这 个 新 C 状 态 的 优 化 3.2. 使 用 CPUFREQ 调 节 器 减 少 系 统 电 力 消 耗 和 散 热 的 最 有 效 的 方 法 就 是 使 用 CPUfreq CPUfreq -- 也 称 CPU 速 度 计, 即 允 许 随 时 调 整 处 理 器 时 钟 速 度 这 让 系 统 可 在 降 低 的 时 钟 速 度 下 运 行 以 便 节 电 更 改 频 率 的 规 则, 无 论 是 加 快 还 是 减 慢 时 钟 速 度, 以 及 何 时 更 改 频 率, 都 在 CPUfreq 调 节 器 中 定 义 调 节 器 定 义 系 统 的 电 源 属 性, 它 可 影 响 CPU 性 能 每 个 调 节 器 有 其 自 身 的 独 特 负 载 行 为 目 的 和 实 用 性 这 部 分 描 述 了 如 何 选 择 和 配 置 CPUfreq 调 节 器, 每 个 调 节 器 的 属 性 以 及 每 个 调 节 器 适 用 的 负 载 种 类 3.2.1. CPUfreq 调 节 器 类 型 本 节 列 出 了 红 帽 企 业 版 Linux 6 中 可 用 的 不 同 CPUfreq 调 节 器 类 型 cpufreq_performance 性 能 调 节 器 强 制 CPU 使 用 可 能 的 最 高 时 钟 频 率 这 个 频 率 是 静 态 设 置 的, 不 会 改 变 因 此, 这 个 特 定 的 调 节 器 不 提 供 节 能 效 益 它 只 适 用 于 几 个 小 时 的 高 负 载, 且 即 使 在 那 种 情 况 下 也 只 可 用 于 CPU 几 乎 不 ( 或 者 从 不 ) 空 闲 的 时 候 cpufreq_powersave 相 反, 节 电 调 节 器 强 制 CPU 使 用 最 低 可 用 时 钟 频 率 这 个 频 率 将 被 静 态 设 置, 且 不 会 更 改 因 此, 这 个 特 定 调 节 器 提 供 最 大 节 能 效 益, 但 是 以 最 低 CPU 性 能 为 代 价 的 19

电 源 管 理 指 南 这 里 " 节 电 " 有 时 是 不 正 确 的, 因 为 ( 基 本 上 ) 满 负 载 的 低 速 CPU 消 耗 的 能 量 比 没 有 负 载 的 高 速 CPU 要 多 因 此, 当 建 议 在 需 要 低 性 能 时 将 CPU 设 定 为 使 用 节 电 调 节 器 时, 意 外 的 高 负 载 可 能 会 导 致 系 统 实 际 消 耗 了 更 多 的 能 量 节 电 调 节 器 对 CPU 简 单 来 说 更 象 是 " 限 速 器 " 而 不 是 " 节 能 器 " 在 过 热 时 会 出 问 题 的 系 统 和 环 境 中 最 有 用 cpufreq_ondemand 按 需 调 节 器 是 一 个 动 态 调 节 器, 它 可 允 许 CPU 在 系 统 负 载 高 时 达 到 最 大 时 钟 频 率, 还 允 许 系 统 处 于 闲 置 时 使 用 最 小 时 钟 频 率 虽 然 这 允 许 系 统 根 据 系 统 负 载 调 整 电 源 消 耗, 但 也 确 实 要 承 受 频 率 切 换 间 造 成 的 延 迟 因 此, 如 果 系 统 在 闲 置 和 高 负 载 间 切 换 过 于 频 繁, 那 么 延 迟 可 抵 消 任 何 按 需 调 节 器 带 来 的 性 能 / 节 能 优 势 对 大 多 数 系 统 来 说, 按 需 调 节 器 可 在 散 热 电 源 消 耗 性 能 以 及 管 理 性 间 提 供 最 佳 折 衷 方 案 当 系 统 只 在 每 天 的 某 个 具 体 时 间 繁 忙 时, 按 许 调 节 器 将 根 据 负 载 自 动 在 最 大 和 最 小 频 率 间 切 换 而 无 须 进 一 步 操 作 cpufreq_userspace 用 户 空 间 调 节 器 允 许 用 户 空 间 程 序 ( 或 者 任 何 以 root 用 户 运 行 的 进 程 ) 设 定 频 率 这 个 调 节 器 通 常 与 cpuspeed 守 护 进 程 一 同 使 用 在 所 有 调 节 器 中, 用 户 空 间 调 节 器 是 最 可 自 定 义 的, 且 根 据 其 配 置, 它 可 为 您 的 系 统 在 性 能 和 耗 能 间 提 供 最 佳 平 衡 cpufreq_conservative 与 按 需 调 节 器 类 似, 传 统 调 节 器 还 根 据 用 量 调 整 时 钟 频 率 ( 类 似 按 需 调 节 器 ) 但 是 按 需 调 节 器 的 方 式 更 极 端 ( 从 最 大 到 最 小, 再 返 回 ), 传 统 调 节 器 在 更 接 近 的 频 率 间 切 换 这 意 味 着 传 统 调 节 器 会 将 时 钟 频 率 调 整 为 它 认 为 适 合 负 载 的 频 率, 而 不 是 简 单 的 在 最 大 和 最 小 频 率 间 选 择 虽 然 这 样 可 极 大 节 省 能 源 消 耗, 但 它 的 代 价 是 比 按 需 调 节 器 要 损 失 更 多 的 延 迟 注意 您 可 以 使 用 cron 任 务 启 用 调 节 器 这 允 许 您 自 动 在 每 天 的 特 定 时 间 设 定 具 体 调 节 器 因 此, 您 可 以 在 闲 置 时 指 定 低 频 率 调 节 器 ( 例 如 工 作 之 余 ), 并 在 高 负 载 时 返 回 高 频 率 调 节 器 有 关 如 何 启 用 特 定 调 节 器, 请 参 考 第 3.2.2 节 CPUfreq 设 置 中 的 过程 3.2, 启 用 CPUfreq 调 节 器 3.2.2. CPUfreq 设 置 在 选 择 和 配 置 CPUfreq 调 节 器 前, 您 首 先 需 要 添 加 正 确 的 CPUfreq 驱 动 程 序 过程 3.1. 如 何 添 加 CPUfreq 驱 动 程 序 1. 使 用 以 下 命 令 查 看 可 用 于 您 系 统 的 CPUfreq 驱 动 程 序 : ls /lib/modules/[kernel version]/kernel/arch/[architecture]/kernel/cpu/cpufreq/ 2. 使 用 modprobe 添 加 正 确 的 CPUfreq 驱 动 程 序 modprobe [CPUfreq driver] 您 使 用 以 上 命 令 时, 请 确 定 删 除.ko 文 件 名 后 缀 20

第 3 章核 心 基 础 结 构 及 技 巧 重要 当 选 择 适 当 的 CPUfreq 驱 动 程 序 时, 总 是 选 择 p4-clockmod 中 的 acpicpufreq 当 使 用 p4-clockmod 驱 动 程 序 降 低 CPU 的 时 钟 频 率 时, 它 不 会 降 低 电 压 另 一 方 面,acpi-cpufreq 会 随 着 CPU 时 钟 频 率 降 低 电 压, 允 许 每 个 性 能 单 位 降 低 有 更 少 电 力 消 耗 和 散 热 3. 设 定 CPUfreq 驱 动 程 序 后, 您 可 以 查 看 系 统 目 前 正 在 使 用 的 调 节 器 : cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 您 还 可 以 查 看 某 个 具 体 CPU 可 使 用 的 调 节 器, 请 使 用 : cat /sys/devices/system/cpu/[cpu ID]/cpufreq/scaling_available_governors 有 些 CPUfreq 调 节 器 可 能 您 无 法 使 用 在 这 个 情 况 下, 请 使 用 modprobe 添 加 可 启 用 您 要 使 用 的 具 体 CPUfreq 调 节 器 的 内 核 模 块 您 可 在 /lib/modules/[kernel version]/kernel/drivers/cpufreq/ 中 找 到 这 些 内 核 模 块 过程 3.2. 启 用 CPUfreq 调 节 器 1. 如 果 没 有 为 您 的 CPU 列 出 可 用 的 具 体 调 节 器, 请 使 用 modprobe 启 用 您 想 要 使 用 的 调 节 器 例 如 : 如 果 ondemand 调 节 器 不 可 用 于 您 的 CPU, 请 使 用 以 下 命 令 : modprobe cpufreq_ondemand 2. 将 调 节 器 列 入 您 CPU 的 可 用 列 表 后, 您 可 使 用 以 下 命 令 启 用 它 : echo [governor] > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 3.2.3. 调 整 CPUfreq 策 略 和 速 度 您 选 择 适 当 的 CPUfreq 调 节 器 后, 您 可 以 使 用 在 /sys/devices/system/cpu/[cpu ID]/cpufreq/ 中 找 到 的 可 调 按 钮 做 对 每 个 CPU 的 速 度 做 进 一 步 的 调 节 这 些 可 调 按 钮 有 : cpuinfo_min_freq 显 示 CPU 的 最 小 可 用 操 作 频 率 ( 单 位 千 赫 ) cpuinfo_max_freq 显 示 CPU 的 最 大 可 用 操 作 频 率 ( 单 位 千 赫 ) scaling_driver 显 示 在 这 个 CPU 中 用 来 设 定 频 率 的 CPUfreq 驱 动 程 序 scaling_available_governors 显 示 这 个 内 核 中 可 用 的 CPUfreq 调 节 器 如 果 您 要 使 用 不 在 此 文 件 列 表 中 的 CPUfreq 调 节 器, 请 参 考 第 3.2.2 节 CPUfreq 设 置 中 的 过程 3.2, 启 用 CPUfreq 调 节 器 操 作 说 明 scaling_governor 显 示 当 前 使 用 的 CPUfreq 调 节 器 要 使 用 不 同 的 调 节 器, 只 要 使 用 echo [governor] > /sys/devices/system/cpu/[cpu ID]/cpufreq/scaling_governor 命 令 即 可 ( 详 情 请 参 考 第 3.2.2 节 CPUfreq 设 置 中 的 过程 3.2, 启 用 CPUfreq 调 节 器 ) cpuinfo_cur_freq 显 示 CPU 的 当 前 速 度 ( 单 位 千 赫 ) 21

电 源 管 理 指 南 scaling_available_frequencies 列 出 CPU 可 用 频 率, 单 位 千 赫 scaling_min_freq 和 scaling_max_freq 设 定 CPU 策 略 限 制, 单 位 千 赫 重要 当 设 定 策 略 限 制 时, 您 应 该 在 scaling_min_freq 之 前 设 定 scaling_max_freq affected_cpus 列 出 需 要 频 率 协 调 软 件 的 CPU scaling_setspeed 用 于 更 改 CPU 时 钟 速 度, 单 位 千 赫 您 只 能 在 CPU 策 略 限 制 中 设 定 一 个 速 度 ( 根 据 scaling_min_freq 和 scaling_max_freq) 要 查 看 每 个 可 调 整 部 分 的 当 前 值, 请 使 用 cat [tunable] 例 如 : 要 查 看 cpu0 的 当 前 速 度 ( 单 位 千 赫 ), 请 使 用 : cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq. 要 更 改 每 个 可 调 整 部 分 的 值, 请 使 用 echo [value] > /sys/devices/system/cpu/[cpu ID]/cpufreq/[tunable] 例 如 : 将 cpu0 的 最 小 时 钟 速 度 设 定 为 360 千 赫, 请 使 用 : echo 360000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 3.3. 挂 起 和 恢 复 当 系 统 挂 起 时, 内 核 调 用 驱 动 程 序 保 存 其 状 态 然 后 卸 载 它 们 当 系 统 恢 复 时, 它 会 载 入 这 些 试 图 重 新 编 程 其 设 备 的 驱 动 程 序 驱 动 程 序 完 成 这 个 任 务 的 能 力 决 定 了 系 统 是 否 可 以 被 成 功 恢 复 就 这 一 点 而 言 视 频 驱 动 程 序 是 最 成 问 题 的, 因 为 高 级 配 置 和 电 源 界 面 (ACPI) 规 范 不 要 求 系 统 固 件 可 以 重 新 编 程 视 频 硬 件 因 此, 除 非 视 频 驱 动 程 序 可 以 从 完 全 非 启 动 状 态 编 程 硬 件, 否 则 它 们 可 以 阻 止 系 统 恢 复 红 帽 企 业 版 Linux 6 包 括 对 新 图 形 芯 片 组 的 更 大 支 持, 这 个 支 持 可 确 定 挂 起 及 恢 复 在 大 量 平 台 中 正 常 工 作 特 别 是 对 NVIDIA 芯 片 组 的 大 量 改 进, 特 别 是 对 GeForce 8800 系 列 的 改 进 3.4. 无 空 循 环 内 核 之 前,Linux 内 核 在 预 定 频 率 时 周 期 性 断 系 统 中 的 每 个 CPU - 100 Hz,250 Hz 或 者 1000 Hz, 具 体 要 根 据 平 台 而 定 内 核 查 询 CPU 有 关 执 行 的 进 程, 并 使 用 结 果 进 行 进 程 计 数 和 负 载 平 衡 也 就 是 我 们 知 道 的 计 时 器 刻 度, 内 核 执 行 这 些 中 断 时 不 考 虑 CPU 的 电 源 状 态 因 此, 即 使 闲 置 的 CPU 也 要 每 秒 相 应 最 多 1000 次 的 这 种 请 求 在 为 闲 置 CPU 使 用 节 能 方 法 的 系 统 中, 计 时 器 刻 度 可 妨 碍 CPU 让 系 统 保 持 足 够 长 的 闲 置 状 态 以 达 到 从 节 能 中 获 益 的 目 的 红 帽 企 业 版 Linux 6 内 核 运 行 无 空 循 环 : 即 它 使 用 按 需 中 断 替 换 老 的 周 期 性 计 时 器 中 断 因 此 可 允 许 闲 置 CPU 处 于 闲 置 状 态 直 到 请 求 执 行 新 任 务 为 止, 且 进 入 低 功 率 状 态 的 CPU 可 在 此 状 态 保 持 较 长 的 时 间 3.5. 主 动 式 电 源 管 理 主 动 式 电 源 管 理 (ASPM) 在 PCI Express 或 者 PCIe(Peripheral Component Interconnect Express) 子 系 统 中 的 节 电, 其 原 理 为 当 设 备 连 接 的 PCI 连 接 没 有 处 于 使 用 状 态 时 将 其 设 定 为 低 功 率 状 态 ASPM 可 同 时 在 终 端 和 连 接 中 控 制 电 源 状 态, 并 在 连 接 终 端 的 设 备 处 于 满 电 状 态 时 仍 可 在 连 接 中 节 电 22

第 3 章核 心 基 础 结 构 及 技 巧 当 启 用 ASPM 时 会 增 大 设 备 延 迟, 因 为 在 不 同 电 源 状 态 间 转 换 连 接 时 需 要 时 间 ASPM 有 三 个 决 定 电 源 状 态 的 策 略 : 默 认 根 据 系 统 ( 例 如 :BIOS) 中 固 件 指 定 的 默 认 设 置 设 定 PCIe 连 接 电 源 状 态 这 是 ASPM 的 默 认 状 态 节 电 将 ASPM 设 定 为 在 任 何 可 能 的 情 况 下 节 电, 不 考 虑 性 能 损 失 性 能 禁 用 ASPM 以 便 允 许 PCI 链 接 以 最 佳 性 能 操 作 ASPM 策 略 是 在 /sys/module/pcie_aspm/parameters/policy 中 设 定, 但 也 可 在 引 导 时 使 用 pcie_aspm 内 核 参 数 指 定, 其 中 pcie_aspm=off 禁 用 ASPM,pcie_aspm=force 启 用 ASPM, 即 使 在 不 支 持 ASPM 的 设 备 中 也 可 以 警告 如 果 设 定 了 pcie_aspm=force, 不 支 持 ASPM 的 硬 件 可 导 致 系 统 停 止 响 应 请 在 设 定 pcie_aspm=force 前 确 定 系 统 中 的 所 有 PCI 都 支 持 ASPM 3.6. 主 动 连 接 电 源 管 理 主 动 连 接 电 源 管 理 (ALPM) 是 一 项 节 能 技 术, 其 原 理 为 通 过 在 闲 置 时 ( 就 是 没 有 I/O 的 时 候 ) 将 到 磁 盘 的 SATA 连 接 设 定 为 低 功 率 模 式 帮 助 磁 盘 节 电 在 那 个 连 接 中 有 I/O 请 求 队 列 后,ALPM 会 自 动 将 SATA 连 接 恢 复 为 活 跃 电 源 状 态 ALPM 使 用 的 节 电 技 术 是 以 磁 盘 延 迟 为 代 价 的 因 此, 您 应 该 只 在 系 统 可 能 会 长 时 间 处 于 闲 置 I/O 状 态 时 使 用 ALPM ALPM 只 可 用 于 使 用 高 级 主 机 控 制 器 接 口 (AHCI) 的 SATA 控 制 器 有 关 AHCI 详 情 请 参 考 http://www.intel.com/technology/serialata/ahci.htm 可 用 时, 默 认 启 用 ALPM ALPM 有 三 种 模 式 : min_power 这 个 模 式 将 连 接 设 定 为 其 最 低 功 率 状 态 (SLUMBER), 此 时 磁 盘 中 没 有 任 何 I/O 这 个 模 式 在 可 能 会 延 长 闲 置 周 期 时 有 用 medium_power 这 个 模 式 将 连 接 设 定 为 第 二 低 功 率 状 态 (PARTIAL), 此 时 磁 盘 中 没 有 I/O 这 个 模 式 是 设 计 用 来 允 许 在 尽 量 不 影 响 性 能 的 条 件 下 在 电 源 状 态 间 进 行 转 换 ( 例 如 : 在 中 等 I/O 负 载 和 闲 置 I/O 时 ) medium_power 模 式 允 许 根 据 负 载 情 况 在 PARTIAL 和 满 电 ( 即 "ACTIVE") 状 态 间 进 行 连 接 转 换 请 注 意 不 可 能 直 接 从 PARTIAL 转 换 到 SLUMBER 然 后 再 转 回 来 在 这 里, 这 两 种 电 源 状 态 都 需 要 首 先 转 换 成 ACTIVE 状 态, 然 后 方 可 转 换 到 另 一 个 状 态 23

电 源 管 理 指 南 max_performance ALPM 被 禁 用 当 磁 盘 中 没 有 I/O 时 连 接 不 会 处 于 任 何 低 功 率 状 态 要 查 看 您 的 SATA 主 机 适 配 器 是 否 真 正 支 持 ALPM, 您 可 以 查 看 是 否 有 文 件 /sys/class/scsi_host/host*/link_power_management_policy 要 更 改 设 置, 只 要 在 这 些 文 件 中 写 入 本 章 节 中 描 述 的 值 或 者 显 示 文 件 检 查 当 前 设 置 即 可 重要 将 ALPM 设 定 为 min_power 或 者 medium_power 将 自 动 禁 用 " 热 插 拔 " 特 性 3.7. RELATIME 驱 动 器 访 问 优 化 POSIX 标 准 要 求 操 作 系 统 维 护 记 录 每 个 文 件 最 后 一 次 被 访 问 的 文 件 系 统 元 数 据 这 个 时 间 戳 被 称 为 atime, 维 护 它 需 要 一 个 重 复 的 对 存 储 的 写 入 操 作 这 些 写 入 操 作 让 存 储 是 设 备 及 其 连 接 保 持 忙 碌 和 通 电 状 态 因 为 很 少 应 用 程 序 会 使 用 atime 数 据, 所 以 这 个 存 储 设 备 活 动 是 在 浪 费 电 力 特 别 是 即 使 没 有 从 存 储 中 读 取 该 文 件 也 会 发 生 写 入 存 储 的 事 件, 但 是 从 缓 冲 中 写 入 有 时,Linux 内 核 还 支 持 mount 的 noatime 选 项, 并 不 在 使 用 此 选 项 挂 载 的 文 件 系 统 中 写 入 atime 但 是 只 是 关 闭 这 个 特 性 是 有 问 题 的, 因 为 有 些 应 用 程 序 会 依 赖 atime 数 据, 并 在 此 数 据 不 可 用 时 失 败 红 帽 企 业 版 Linux 6 使 用 的 内 核 之 后 此 另 一 个 可 替 换 选 项 - relatime Relatime 维 护 atime 数 据, 但 不 是 每 次 访 问 该 文 件 时 都 更 改 启 用 这 个 选 项, 则 只 在 上 次 更 新 atime(mtime) 后 修 改 该 文 件 时, 或 者 最 后 一 次 访 问 该 文 件 是 在 相 当 长 一 段 时 间 前 ( 默 认 为 一 天 ) 时 才 会 将 atime 数 据 写 入 磁 盘 默 认 情 况 下, 所 有 现 在 挂 载 的 文 件 系 统 都 启 用 relatime 要 在 整 个 系 统 中 限 制 这 个 特 性, 请 使 用 boot 参 数 default_relatime=0 如 果 默 认 在 某 个 系 统 中 启 用 relatime, 您 可 以 通 过 使 用 选 项 norelatime 挂 载 某 个 系 统 来 限 制 它 在 某 个 具 体 文 件 系 统 中 的 使 用 最 后, 要 使 系 统 更 新 文 件 的 atime 数 据 的 默 认 周 期 有 所 不 同, 请 使 用 relatime_interval= 引 导 参 数, 以 秒 为 单 位 指 定 周 期 默 认 值 为 86400 3.8. 功 率 封 顶 红 帽 企 业 版 Linux 6 支 持 最 近 在 硬 件 中 使 用 的 功 率 封 顶, 比 如 HP 的 动 态 功 率 封 顶 (DPC) 以 及 Intel 的 节 点 管 理 器 (NM) 技 术 功 率 封 顶 允 许 管 理 员 使 用 服 务 器 限 制 功 率 消 耗, 但 它 还 可 允 许 管 理 器 更 有 效 地 规 划 数 据 中 心, 因 为 极 大 降 低 了 现 有 电 源 供 应 的 超 载 风 险 管 理 器 可 在 同 一 物 理 印 迹 中 放 置 更 多 的 服 务 器 并 确 定 如 果 服 务 器 电 源 消 耗 封 顶, 在 高 负 载 时 对 电 源 的 需 求 会 超 出 可 用 的 电 源 HP 动 态 功 率 封 顶 动 态 功 率 封 顶 是 一 个 在 选 择 ProLiant 和 刀 片 系 统 服 务 器 时 的 特 性, 它 可 允 许 系 统 管 理 员 对 一 个 服 务 器 或 者 一 组 服 务 器 的 电 源 消 耗 封 顶 这 个 封 顶 是 一 个 绝 对 限 制, 无 论 其 当 前 工 作 负 载 如 何, 服 务 器 将 无 法 超 过 该 限 制 这 个 封 顶 只 在 服 务 器 达 到 其 电 源 消 耗 限 制 时 才 起 效 此 时 某 个 管 理 进 程 会 调 整 CPU P 状 态 和 始 终 刻 度 来 限 制 电 力 消 耗 动 态 功 率 封 顶 会 修 改 独 立 操 作 系 统 的 CPU 行 为, 但 是 HP 的 集 成 的 Lights-Out 2(iLO2) 固 件 允 许 操 作 系 统 访 问 管 理 处 理 器, 因 此 用 户 空 间 中 的 应 用 程 序 可 查 询 管 理 处 理 器 红 帽 企 业 版 Linux 6 中 使 用 的 内 核 包 括 用 于 HP ilo 和 ilo2 固 件 的 驱 动 程 序, 它 们 可 允 许 程 序 查 询 /dev/hpilo/dxccbn 中 的 管 理 处 理 器 该 内 核 还 包 括 hwmon sysfs 接 口 扩 展 来 支 持 功 率 封 顶 特 性, 以 及 用 于 ACPI 4.0 使 用 sysfs 接 口 电 源 米 表 的 驱 动 程 序 这 些 特 性 允 许 操 作 系 统 和 用 户 空 间 工 具 共 同 读 取 为 功 率 封 顶 配 置 的 值 以 及 系 统 的 当 前 电 源 用 量 有 关 HP 动 态 功 率 封 顶 详 情 请 参 考 HP 功 率 封 顶 以 及 用 于 ProLiant 服 务 器 的 HP 动 态 功 率 封 顶, 地 址 为 :http://h20000.www2.hp.com/bc/docs/support/supportmanual/c01549455/c01549455.pdf 24

第 3 章核 心 基 础 结 构 及 技 巧 Intel 节 点 管 理 器 Intel 节 点 管 理 器 在 系 统 中 强 制 使 用 功 率 封 顶, 使 用 处 理 器 P 状 态 和 T 状 态 限 制 CPU 性 能, 并 因 此 节 能 通 过 设 置 电 源 管 理 策 略, 管 理 员 可 将 系 统 配 置 为 在 系 统 负 载 低 时, 比 如 夜 间 或 者 周 末, 消 耗 较 少 的 电 力 Intel 节 点 管 理 器 使 用 直 接 操 作 系 统 配 置 和 电 源 管 理 (OSPM) 通 过 标 准 高 级 配 置 和 电 源 接 口 调 整 CPU 性 能 当 Intel 节 点 管 理 器 通 知 OSPM 驱 动 程 序 更 改 到 T 状 态 时, 该 驱 动 程 序 会 响 应 并 更 改 处 理 器 P 状 态 同 样, 当 Intel 节 点 管 理 器 通 知 OSPM 驱 动 程 序 更 改 到 P 状 态 时, 该 驱 动 程 序 也 会 相 应 更 改 T 状 态 这 些 更 改 自 动 进 行 且 不 需 要 操 作 系 统 有 进 一 步 的 输 入 管 理 员 使 用 Intel 数 据 中 心 管 理 器 (DCM) 软 件 配 置 并 监 控 Intel 节 点 管 理 器 有 关 Intel 节 点 管 理 器 详 情 请 参 考 节 点 管 理 器 - 动 态 管 理 数 据 中 心 电 源, 地 址 为 :http://communities.intel.com/docs/doc-4766 3.9. 改 进 的 图 形 电 源 管 理 红 帽 企 业 版 Linux 6 通 过 删 除 不 必 要 的 资 源 消 耗 在 图 形 和 显 示 设 备 中 节 能 LVDS 重 新 计 时 低 压 差 分 信 号 传 输 (Low-voltage differential signalling,lvds) 是 使 用 铜 线 承 载 电 信 号 的 系 统 一 个 主 要 的 应 用 是 将 像 素 信 息 传 输 到 笔 记 本 电 脑 的 液 晶 显 示 (LCD) 屏 幕 中 所 有 显 示 都 有 刷 新 率 - 即 它 们 从 图 形 控 制 器 接 受 新 鲜 数 据 并 在 屏 幕 中 重 新 成 像 的 频 率 通 常 屏 幕 每 秒 接 受 60 次 新 鲜 数 据 ( 即 频 率 为 60 Hz) 当 屏 幕 和 图 形 控 制 器 是 以 LVDS 连 接 时,LVDS 系 统 在 每 次 刷 新 时 都 会 消 耗 能 量 当 闲 置 时, 很 多 LCD 屏 幕 的 刷 新 率 都 会 下 降 到 30 Hz, 且 不 会 产 生 明 显 的 影 响 ( 与 阴 极 射 线 管 (CRT) 显 示 器 不 同, 后 者 在 降 低 刷 新 率 时 会 产 生 闪 烁 现 象 ) 红 帽 企 业 版 Linux 6 内 核 使 用 的 Intel 图 形 适 配 器 的 驱 动 程 序 可 自 动 执 行 这 个 降 频, 并 在 屏 幕 闲 置 时 节 约 0.5 W 左 右 的 电 力 启 用 内 存 自 动 刷 新 同 步 动 态 随 机 访 问 内 存 (SDRAM) - 由 于 用 于 图 形 适 配 器 的 视 频 内 存, 因 此 每 秒 会 重 复 充 电 上 千 次, 以 便 每 个 内 存 单 元 可 保 留 保 存 在 其 中 的 数 据 除 了 管 理 数 据 的 主 要 功 能 外, 因 为 有 数 据 流 入 或 者 流 出 内 存, 所 以 内 存 控 制 器 通 常 负 责 初 始 化 这 些 刷 新 循 环 但 是 SDRAM 还 有 一 个 低 功 率 自 动 刷 新 模 式 在 这 个 模 式 中, 内 存 使 用 内 部 计 时 器 生 成 其 自 身 刷 新 循 环, 它 可 允 许 系 统 在 不 损 害 当 前 内 存 数 据 的 情 况 下 关 闭 内 存 控 制 器 红 帽 企 业 版 Linux 6 使 用 的 内 核 可 在 Intel 图 形 适 配 器 处 于 闲 置 状 态 时 触 发 内 存 自 动 刷 新, 并 可 节 约 0.8 W 左 右 的 电 力 GPU 时 钟 修 订 典 型 图 形 处 理 单 元 (GPU) 包 含 管 理 其 内 部 电 路 不 同 部 分 的 内 部 时 钟 红 帽 企 业 版 Linux 6 使 用 的 内 核 可 降 低 部 分 Intel 和 ATI GPU 的 内 部 时 钟 频 率 减 少 GPU 组 件 在 给 定 时 间 内 执 行 循 环 的 次 数 可 减 少 其 在 那 些 它 们 不 一 定 要 执 行 的 循 环 中 消 耗 的 能 量 当 GPU 闲 置 时, 内 核 可 自 动 降 低 这 些 时 钟 的 速 度 ; 同 时 当 GPU 活 性 增 强 时 会 提 高 其 时 钟 速 度 降 低 GPU 时 钟 循 环 最 多 可 节 省 5 W 电 力 GPU 关 闭 红 帽 企 业 版 Linux 6 中 使 用 的 Intel 和 ATI 图 形 驱 动 程 序 可 探 测 到 什 么 时 候 适 配 器 中 没 有 连 接 显 示 器, 并 完 全 关 闭 GPU 这 个 功 能 对 不 经 常 连 接 显 示 器 的 服 务 器 尤 为 重 要 3.10. RFKILL 很 多 计 算 机 系 统 包 含 无 线 电 传 输, 其 中 包 括 Wi-Fi 蓝 牙 和 3G 设 备 这 些 设 备 消 耗 电 源, 在 不 使 用 这 些 设 备 时 是 一 种 浪 费 RFKill 是 Linux 内 核 中 的 一 个 子 系 统, 它 可 提 供 一 个 界 面, 在 此 界 面 中 可 查 询 激 活 并 取 消 激 活 计 算 机 系 统 中 的 无 线 电 传 输 当 取 消 激 活 传 输 时, 可 使 其 处 于 可 被 软 件 重 新 激 活 的 状 态 ( 软 锁 定 ) 或 者 将 其 放 在 软 件 无 法 重 新 激 活 的 位 置 ( 硬 锁 定 ) 25

电 源 管 理 指 南 RFKill 核 为 子 系 统 提 供 应 用 程 序 编 程 界 面 (API) 内 核 驱 动 程 序 被 设 计 为 支 持 RFKill 使 用 这 个 API 注 册 内 核, 并 包 含 启 用 和 禁 用 这 个 设 备 的 方 法 另 外,RFKill 核 提 供 用 户 程 序 可 解 读 的 通 知 以 及 用 户 程 序 查 询 传 输 状 态 的 方 法 RFKill 界 面 位 于 /dev/rfkill, 其 中 包 含 系 统 中 所 有 无 线 电 传 输 的 当 前 状 态 每 个 设 备 都 在 sysfs 中 注 册 当 前 RFKill 状 态 另 外, 在 启 用 了 RFKill 的 设 备 中 每 当 状 态 更 改 时,RFKill 会 发 出 uevents Rfkill 是 一 个 命 令 行 工 具, 您 可 使 用 它 查 询 和 更 改 系 统 中 启 用 了 RFKill 的 设 备 要 获 得 这 个 工 具, 请 安 装 rfkill 软 件 包 使 用 命 令 rfkill list 获 得 设 备 列 表, 每 个 都 包 含 与 之 关 联 的 索 引 号, 从 0 开 始 您 可 以 使 用 这 个 索 引 号 让 rfkill 停 止 使 用 或 者 使 用 某 个 设 备, 例 如 : rfkill block 0 停 用 系 统 中 第 一 个 启 用 RFKill 的 设 备 您 还 可 以 使 用 rfkill 阻 断 某 一 类 设 备, 或 者 所 有 启 用 了 RFKill 的 设 备 例 如 : rfkill block wifi 停 用 系 统 中 的 所 有 Wi-Fi 设 备 要 停 用 所 有 启 用 了 RFKill 的 设 备, 请 运 行 : rfkill block all 要 重 新 使 用 设 备, 请 运 行 rfkill unblock, 而 不 是 rfkill block 要 获 得 rfkill 可 停 用 的 完 整 设 备 类 别 列 表, 请 运 行 rfkill help 3.11. 在 用 户 空 间 中 优 化 减 少 系 统 硬 件 的 工 作 量 是 节 能 的 关 键 因 此 虽 然 第 3 章核 心 基 础 结 构 及 技 巧 中 描 述 的 更 改 允 许 系 统 在 减 少 电 源 消 耗 的 各 种 状 态 下 操 作, 而 用 户 空 间 中 要 求 系 统 硬 件 进 行 不 必 要 工 作 的 程 序 会 阻 止 硬 件 进 入 这 种 状 态 在 红 帽 企 业 版 Linux 6 开 发 过 程 中, 在 以 下 区 域 执 行 审 核 来 降 低 硬 件 的 不 必 要 需 求 : 减 少 唤 醒 红 帽 企 业 版 Linux 6 使 用 无 空 循 环 内 核 ( 请 参 考 第 3.4 节 无 空 循 环 内 核 ), 它 允 许 CPU 保 持 深 度 闲 置 状 态 的 时 间 更 长 一 些 但 是 计 时 器 刻 度 不 是 过 度 CPU 唤 醒 的 唯 一 原 因, 来 自 程 序 的 功 能 调 用 还 可 阻 止 CPU 进 入 或 者 保 持 闲 置 状 态 可 在 50 多 个 程 序 中 减 少 不 必 要 的 功 能 调 用 减 少 存 储 和 网 络 IO 输 入 或 者 输 出 (IO) 到 存 储 设 备 和 网 络 接 口 会 强 制 消 耗 电 源 在 具 有 处 于 闲 置 状 态 时 减 少 电 源 消 耗 功 能 ( 比 如 ALPM 或 者 ASPM) 的 存 储 和 网 络 设 备 中, 这 个 流 量 可 阻 止 该 设 备 进 入 或 者 保 持 闲 置 状 态, 并 可 阻 止 硬 盘 在 不 使 用 时 转 速 降 低 已 经 在 有 些 程 序 中 最 小 化 了 过 度 或 者 不 必 要 的 需 求 特 别 是 那 些 阻 止 硬 盘 降 低 转 速 的 需 求 初 始 化 脚 本 审 核 无 论 是 否 需 要 都 自 动 启 动 的 服 务 会 在 很 大 程 度 上 浪 费 系 统 资 源 系 统 应 尽 量 将 其 设 定 为 默 认 "off" 或 者 "on demand" 例 如 : 无 论 是 否 有 蓝 牙 设 备, 以 前 在 系 统 启 动 时, 启 用 蓝 牙 服 务 的 BlueZ 会 自 动 运 行 BlueZ 启 动 脚 本 现 在 在 启 动 该 服 务 前 检 查 系 统 中 是 否 有 蓝 牙 设 备 26

第 4 章使 用 案 例 第 4 章使 用 案 例 本 章 描 述 了 两 类 使 用 案 例 演 示 本 指 南 中 描 述 的 分 析 和 配 置 方 法 第 一 个 示 例 说 的 是 典 型 服 务 器, 第 二 个 是 典 型 笔 记 本 电 脑 4.1. 示 例 - 服 务 器 现 在 典 型 的 标 准 服 务 器 基 本 都 包 含 红 帽 企 业 版 Linux 6 中 支 持 的 所 有 所 需 硬 件 功 能 您 的 首 要 考 虑 是 该 服 务 器 主 要 使 用 的 负 载 类 型 根 据 这 个 信 息 您 可 以 决 定 要 优 化 哪 些 组 件 节 能 不 考 虑 服 务 器 类 型, 通 常 不 需 要 图 像 性 能 因 此 可 打 开 GPU 节 能 网 页 服 务 器 网 页 服 务 器 需 要 网 络 和 磁 盘 I/O 根 据 外 部 连 接 速 度,100 Mbit/s 应 该 足 够 了 如 果 该 机 器 大 多 数 提 供 的 是 静 态 页 面,CPU 性 能 则 并 不 重 要 因 此 电 源 管 理 选 项 应 包 括 : 计 算 服 务 器 无 tuned 的 磁 盘 或 者 网 络 插 件 打 开 ALPM 打 开 按 需 调 节 器 网 卡 限 制 为 100 Mbit/s 计 算 服 务 器 主 要 是 CPU 电 源 管 理 选 择 可 能 包 括 : 邮 件 服 务 器 根 据 任 务 以 及 出 现 数 据 存 储 的 位 置, 激 活 tuned 的 磁 盘 或 者 网 络 插 件 ; 或 者 在 批 处 理 系 统 中 完 全 激 活 tuned 根 据 应 用, 可 能 是 性 能 调 节 器 邮 件 服 务 器 主 要 需 要 磁 盘 I/O 和 CPU 电 源 管 理 选 择 应 包 括 : 文 件 服 务 器 打 开 按 需 调 节 器, 因 为 CPU 最 后 的 几 个 百 分 比 并 不 重 要 无 tuned 的 磁 盘 或 者 网 络 插 件 不 应 该 限 制 网 络 速 度, 因 为 邮 件 通 常 是 内 部 的, 并 可 因 此 从 1 Gbit/s 或 者 10 Gbit/s 连 接 中 获 益 文 件 服 务 器 的 需 要 与 邮 件 服 务 器 类 似, 但 根 据 所 用 协 议, 可 能 需 要 更 多 的 CPU 性 能 通 常, 基 于 Saba 的 服 务 器 需 要 的 CPU 比 NFS 多, 而 NFS 又 比 iscsi 需 要 更 多 的 CPU 即 使 如 此, 您 应 可 以 使 用 按 需 调 节 器 目 录 服 务 器 目 录 服 务 器 通 常 对 磁 盘 I/O 的 要 求 较 低, 特 别 是 在 有 足 够 RAM 的 情 况 下 网 络 延 迟 最 重 要, 而 网 络 I/O 次 之 您 可 以 考 虑 使 用 较 低 连 接 速 度 的 延 迟 网 络 调 节, 但 您 应 为 具 体 网 络 进 行 细 心 的 测 试 4.2. 示 例 - 笔 记 本 电 脑 27

电 源 管 理 指 南 另 一 个 电 源 管 理 和 节 能 通 常 起 作 用 的 示 例 就 是 笔 记 本 电 脑 因 为 笔 记 本 电 脑 一 般 已 经 被 设 计 为 比 工 作 站 或 者 服 务 器 节 省 很 多 电 力 当 使 用 电 池 模 式 时, 节 能 可 让 您 的 电 池 使 用 时 间 多 几 分 钟 虽 然 这 部 分 着 重 阐 述 笔 记 本 电 脑 的 电 池 模 式, 但 您 仍 然 可 在 使 用 交 流 电 供 电 时 也 使 用 一 些 或 者 所 有 调 整 在 笔 记 本 电 脑 中 单 一 组 件 中 的 节 能 通 常 要 比 在 工 作 站 中 更 明 显 例 如 :1 Gbit/s 网 络 接 口 以 100 Mbits/s 运 行 时 可 节 电 大 约 3-4 瓦 对 于 总 耗 电 400 瓦 的 典 型 服 务 器 来 说, 这 个 节 能 大 概 是 在 1 % 在 总 耗 电 40 瓦 的 典 型 笔 记 本 电 脑 中, 这 一 个 组 件 的 节 能 就 是 总 耗 电 量 的 10 % 典 型 笔 记 本 电 脑 中 的 具 体 节 能 优 化 包 括 : 将 系 统 BIOS 配 置 为 禁 用 所 有 您 不 使 用 的 硬 件 例 如 : 并 口 或 者 串 口 读 卡 器 摄 像 头 WiFi 以 及 蓝 牙, 这 里 只 给 出 一 些 可 能 的 硬 件 在 较 暗 的 环 境 中, 您 不 需 要 使 用 最 大 亮 度 就 可 舒 服 地 阅 读 屏 幕 中 的 内 容, 此 时 可 调 暗 显 示 请 在 GNOME 桌 面 中 使 用 系 统 + 首 选 项 电 源 管 理, 在 KDE 桌 面 中 使 用 Kickoff Application Launcher + 计 算 机 + 系 统 设 置 + 高 级 电 源 管 理, 或 者 在 命 令 行 中 使 用 gnome-power-manager 或 者 xbacklight, 或 者 您 笔 记 本 电 脑 中 的 功 能 键 使 用 tuned-adm 的 laptop-battery-powersave 侧 写 启 用 整 个 节 能 机 制 请 注 意 会 影 响 硬 盘 和 网 络 接 口 的 性 能 和 延 迟 另 外 您 可 在 各 种 系 统 设 置 中 执 行 很 多 小 的 调 整 : 请 使 用 按 需 调 节 器 ( 红 帽 企 业 版 Linux 6 中 默 认 启 用 ) 启 用 笔 记 本 电 脑 模 式 (laptop-battery-powersave 侧 写 的 一 部 分 ): echo 5 > /proc/sys/vm/laptop_mode 增 加 磁 盘 冲 洗 时 间 (laptop-battery-powersave 侧 写 的 一 部 分 ): echo 1500 > /proc/sys/vm/dirty_writeback_centisecs 禁 用 nmi 监 视 器 (laptop-battery-powersave 侧 写 的 一 部 分 ): echo 0 > /proc/sys/kernel/nmi_watchdog 启 用 AC97 音 频 节 能 ( 在 红 帽 企 业 版 Linux 6 中 默 认 启 用 ): echo Y > /sys/module/snd_ac97_codec/parameters/power_save 启 用 多 核 节 能 (laptop-battery-powersave 侧 写 的 一 部 分 ): echo Y > /sys/module/snd_ac97_codec/parameters/power_save 启 用 USB 自 动 挂 起 : for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 > $i; done 请 注 意 :USB 自 动 挂 起 并 不 适 用 于 所 有 USB 设 备 为 ALPM 启 用 最 小 能 量 设 置 (laptop-battery-powersave 侧 写 的 一 部 分 ): 28

第 4 章使 用 案 例 echo min_power > /sys/class/scsi_host/host*/link_power_management_policy 使 用 relatime 挂 载 文 件 系 统 ( 在 红 帽 企 业 版 Linux 6 中 默 认 使 用 ): mount -o remount,relatime mountpoint 为 硬 盘 激 活 最 佳 节 能 模 式 (laptop-battery-powersave 侧 写 的 一 部 分 ): hdparm -B 1 -S 200 /dev/sd* 禁 用 CD-ROM 调 用 (laptop-battery-powersave 侧 写 的 一 部 分 ): hal-disable-polling --device /dev/scd* 将 屏 幕 亮 度 降 低 至 50 或 更 小, 例 如 : xbacklight -set 50 为 屏 幕 闲 置 激 活 DPMS: xset +dpms; xset dpms 0 0 300 降 低 Wi-Fi 能 源 等 级 (laptop-battery-powersave 侧 写 的 一 部 分 ): for i in /sys/bus/pci/devices/*/power_level ; do echo 5 > $i ; done 取 消 激 活 Wi-Fi: echo 1 > /sys/bus/pci/devices/*/rf_kill 将 有 线 网 络 限 制 为 100 Mbit/s(laptop-battery-powersave 侧 写 的 一 部 分 ): ethtool -s eth0 advertise 0x0F 29

电 源 管 理 指 南 附录 A. 开 发 者 小 贴 示 每 本 优 秀 的 编 程 课 本 都 包 含 内 存 分 配 以 及 具 体 功 能 性 能 的 问 题 当 您 开 发 自 己 的 软 件 时, 请 注 意 可 能 在 运 行 该 软 件 的 系 统 中 增 加 电 源 消 耗 的 问 题 虽 然 这 些 考 虑 不 会 影 响 每 一 行 代 码, 但 您 可 以 优 化 那 些 经 常 成 为 性 能 瓶 颈 部 分 的 代 码 经 常 会 出 问 题 的 技 术 包 括 : 使 用 线 程 不 必 要 CPU 唤 醒 以 及 未 有 效 使 用 唤 醒 如 果 您 必 须 执 行 唤 醒, 尽 快 一 次 做 完 所 有 的 事 ( 迅 速 返 回 闲 置 状 态 ) 不 必 要 的 [f]sync() 使 用 不 必 要 的 活 跃 调 用 或 者 使 用 简 短 常 规 超 时 ( 使 用 响 应 事 件 ) 没 有 有 效 使 用 唤 醒 低 效 磁 盘 访 问 使 用 大 量 缓 冲 来 避 免 频 繁 的 磁 盘 访 问 一 次 写 入 大 块 信 息 低 效 使 用 计 时 器 可 能 时 使 用 跨 应 用 程 序 ( 甚 至 跨 系 统 ) 的 组 群 计 时 器 过 量 的 I/O, 电 源 消 耗 或 者 内 存 使 用 ( 包 括 内 存 泄 露 ) 执 行 不 必 要 计 算 下 面 的 部 分 更 详 细 地 阐 述 这 些 方 面 A.1. 使 用 线 程 普 遍 认 为 使 用 线 程 使 应 用 程 序 可 更 好 且 更 迅 速 地 执 行, 但 并 不 总 是 这 样 Python Python 使 用 全 局 锁 定 解 码 器 [1], 因 此 使 用 线 程 只 能 在 有 大 量 I/O 操 作 时 受 益 Unladen-swallow [2] 是 一 个 Python 快 速 部 署, 您 可 用 它 来 优 化 您 的 代 码 Perl Perl 线 程 原 是 用 于 系 统 中 不 使 用 forking 技 术 的 应 用 程 序 ( 比 如 使 用 32 位 Windows 操 作 系 统 的 系 统 ) 在 Perl 线 程 中 会 为 每 个 单 一 线 程 复 制 数 据 ( 写 时 复 制 ) 数 据 不 是 默 认 共 享 的, 因 为 用 户 应 该 可 以 定 义 数 据 共 享 等 级 必 须 包 括 共 享 threads::shared 模 块 的 数 据 但 是 数 据 不 仅 仅 是 被 复 制 ( 写 时 复 制 ), 该 模 块 还 为 这 些 数 据 生 成 了 捆 绑 变 量, 这 就 需 要 更 多 的 时 间, 且 速 度 更 慢 [3] C C 线 程 共 享 同 一 内 存, 每 个 线 程 都 有 自 己 的 栈, 同 时 内 核 不 一 定 要 生 成 新 的 文 件 描 述 符 并 分 配 新 的 内 存 空 间 C 可 以 真 正 在 更 多 线 程 中 使 用 更 多 CPU 支 持 因 此 要 最 大 化 您 的 线 程 性 能, 请 使 用 低 级 语 言, 比 如 C 或 者 C++ 如 果 您 使 用 脚 本 语 言, 请 考 虑 写 入 一 个 C 绑 定 请 使 用 分 析 器 识 别 不 能 很 好 执 行 的 代 码 [4] A.2. 唤 醒 30

附录 A. 开 发 者 小 贴 示 很 多 应 用 程 序 都 会 扫 描 配 置 文 件 中 的 更 改 在 很 多 情 况 下, 这 种 扫 描 的 时 间 间 隔 是 固 定 的, 例 如 : 每 分 钟 这 可 能 是 个 问 题, 因 为 它 强 制 将 磁 盘 从 低 转 速 状 态 唤 醒 最 佳 解 决 方 案 是 找 到 合 理 的 时 间 间 隔, 好 的 检 查 机 制 或 者 使 用 inotify 检 查 并 响 应 每 个 事 件 Inotify 可 查 看 文 件 或 者 目 录 中 的 各 种 更 改 例 如 : int fd; fd = inotify_init(); int wd; /* checking modification of a file - writing into */ wd = inotify_add_watch(fd, "./myconfig", IN_MODIFY); if (wd < 0) { inotify_cant_be_used(); switching_back_to_previous_checking(); }... fd_set rdfs; struct timeval tv; int retval; FD_ZERO(&rdfs); FD_SET(0, &rdfs); tv.tv_sec = 5; value = select(1, &rdfs, NULL, NULL, &tv); if (value == -1) perror(select); else { do_some_stuff(); }... 这 个 方 法 的 优 点 是 您 可 执 行 不 同 的 检 查 主 要 的 局 限 是 一 个 系 统 中 的 查 看 次 数 是 有 限 的 次 数 可 在 /proc/sys/fs/inotify/max_user_watches 中 获 得, 虽 然 该 数 字 是 可 以 更 改 的, 但 并 不 建 议 如 此 操 作 再 有,inotify 失 败 时, 该 代 码 必 须 返 回 不 同 的 检 查 方 法, 通 常 意 味 着 在 源 代 码 中 会 有 很 多 #if #define 有 关 inotify 的 详 情 请 参 考 inotify man page A.3. FSYNC Fsync 被 视 为 大 量 消 耗 I/O 的 操 作, 但 这 并 不 完 全 正 确 例 如 : 参 见 Theodore Ts'o's 的 文 章 不 要 害 怕 fsync! [5] 以 及 附 带 的 讨 论 Firefox 原 来 在 用 户 每 次 点 击 一 个 链 接 时 都 调 用 sqlite 程 序 库 进 入 新 的 页 面 Sqlite 调 用 fsync, 且 由 于 文 件 系 统 设 置 ( 主 要 使 用 数 据 排 序 模 式 的 ext3), 什 么 都 不 发 生 时 会 有 一 个 长 时 间 延 迟 如 果 另 一 个 进 程 同 时 正 在 复 制 一 个 大 文 件, 这 就 需 要 很 长 的 时 间 ( 最 长 可 达 30 秒 ) 但 在 另 一 个 示 例 中 根 本 不 使 用 fsync, 则 在 切 换 到 ext4 文 件 系 统 时 出 了 问 题 Ext3 是 被 设 定 为 数 据 排 序 模 式, 它 会 每 几 秒 钟 排 空 一 次 内 存 并 将 其 保 存 到 磁 盘 中 但 ext4 使 用 的 是 笔 记 本 电 脑 模 式, 保 存 内 存 的 时 间 间 隔 较 长, 且 可 能 在 系 统 意 外 关 闭 时 丢 失 数 据 现 在 ext4 有 一 个 补 丁, 但 我 们 必 须 仍 在 设 计 应 用 程 序 时 小 心 谨 慎, 正 确 使 用 fsync 下 面 读 取 和 写 入 配 置 文 件 的 简 单 示 例 演 示 了 如 何 备 份 文 件 或 者 数 据 是 怎 么 丢 失 的 : 31