红帽企业版 Linux 7
性能调节指南
在红帽企业版 Linux 7 中优化子系统吞吐量
作者:罗拉・贝莉 - Laura Bailey
翻译、校对:付莹莹 - Yingying (Angelina)
Fu
翻译、校对:龚心星 - Xinxing
Gong
校对、编辑:任浩 - Hao (Naomi)
Ren
校对、责任编辑:鄭中 - Chester
Cheng
红帽企业版 Linux 7 性能调节指南
在红帽企业版 Linux 7 中优化子系统吞吐量
作者:罗拉・贝莉 - Laura Bailey
红帽 工程部出版中心
翻译、校对:付莹莹 - Yingying (Angelina) Fu
澳大利亚昆士兰大学 笔译暨口译研究所
AngelinaBlack@163.com
翻译、校对:龚心星 - Xinxing Gong
澳大利亚昆士兰大学 笔译暨口译研究所
xx.gong@hotmail.com
校对、编辑:任浩 - Hao (Naomi) Ren
澳大利亚昆士兰大学 笔译暨口译研究所
renhao0823@gmail.com
校对、责任编辑:鄭中 - Chester Cheng
红帽工程部翻译中心 & 澳大利亚昆士兰大学笔译暨口译研究所
ccheng@redhat.com, uqcchun1@uq.edu.au
法律通告
法律通告
Copyright © 2014 Red Hat, Inc. and others.
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 7 《性能调节指南》 阐述了优化红帽企业版 Linux 7 性能的方法,收录了红帽企业
版 Linux 7 的性能升级。 《 性能调节指南 》仅陈述现场试验过和经过证实的程序。尽管如此,在所
有可能的配置应用到产品系统之前,都应在测试环境下进行设置和测试,也建议在调节之前备份所有
的数据和配置设定。
目录目录
目录目录
第第 1 章章 红帽企业版
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
红帽企业版 Linux 7 的性能特性
的性能特性
第第 2 章章 性能监控工具
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
性能监控工具
1.1. 7.0版本中的新变化
2.1. /proc
2.2. GNOME 系统监控器
2.3. PCP
2.4. Tuna
2.5. 内置命令行工具
2.6. tuned 和 tuned-adm
2.7. perf
2.8. turbostat
2.9. iostat
2.10. irqbalance
2.11. ss
2.12. numastat
2.13. numad
2.14. SystemTap
2.15. OProfile
2.16. Valgrind
3.1. 注意事项
3.2. 监控和诊断性能问题
3.3. 配置建议
4.1. 注意事项
4.2. 监控及诊断性能问题
4.3. 配置工具
5.1. 注意事项
5.2. 性能问题监控和诊断
5.3. 配置工具
6.1. 注意事项
6.2. 监控和诊断性能问题
6.3. 配置工具
A.1. irqbalance(中断平衡)
A.2. Tuna
A.3. ethtool
A.4. ss
A.5. tuned
A.6. tuned-adm
A.7. perf
A.8. PCP(性能协驾)
A.9. vmstat
A.10. x86_energy_perf_policy
A.11. turbostat
A.12. numastat
3
3
4
4
4
4
5
5
6
6
7
7
7
7
8
8
8
8
9
10
10
13
14
20
20
20
23
27
27
31
34
42
42
42
44
50
50
50
52
52
53
53
54
55
55
56
57
58
1
第第 3 章章 CPU
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
第第 4 章章 内存内存
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
第第 5 章章 存储和文件系统
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
存储和文件系统
第第 6 章章 网络网络
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
附录附录 A. 工具参考
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
工具参考
性能调节指南
性能调节指南
A.12. numastat
A.13. numactl
A.14. numad
A.15. OProfile
A.16. taskset
A.17. SystemTap
58
59
60
61
62
62
附录附录 B. 修订历史
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
修订历史
63
2
第第 1 章章 红帽企业版
红帽企业版 Linux 7 的性能特性
的性能特性
第第 1 章章 红帽企业版
红帽企业版 Linux 7 的性能特性
的性能特性
红帽企业版 Linux 7 中与性能有关的变更的简要概述,请阅读本章节。
1.1. 7.0版本中的新变化
版本中的新变化
此指南是为红帽企业版 Linux 7 而完全重新撰写和架构的。
红帽企业版 Linux 7 中 deadline 作为默认的 I/O 调度器替代了 cfq。这个变更为大多数的用例提供更好
的性能表现。
XFS 文件系统替代 ext4 成为默认的文件系统,并且现在支持最大容量可达 500 TB 的文件系统,及最大容
量可达 8 EB(稀疏文件)的文件偏移。为协助清晰度,更新了 XFS 的调整推荐。
Ext4 文件系统现在支持最大容量为 50 TB 的文件系统和最大可达 16 TB 的文件。调整推荐也做了相应的更
新。此外,ext4 的驱动提供对 ext2 和 ext3 文件系统的支持。
现在提供作为技术预览的 Btrfs 文件系统。
红帽企业版 Linux 7 包括一些为 GFS2 的细微的性能提升。
为了提供对配置文件和添加/保存 tuned 配置文件的支持,更新了 Tuna。为了消耗更少的处理器资源,这
个更新版使用基于事件的采样。为了允许实时监控,图形化版本也同样进行了更新。Tuna的文档参见:
〈第 2.4 节 “Tuna”〉,〈第 3.3.8 节 “使用 Tuna 配置 CPU、线程和中断关联”〉和〈 第 A.2 节 “Tuna”〉。
tuned 默认配置文件更新为 throughput-performance。它替代了现在被移除的 enterprise-
storage 配置文件。为了网络化和虚拟化,添加了一些新的配置文件。此外,tuned 现在提供外壳脚本标
注和 includes 功能。
tuned-adm 工具现在提供 recommend 子命令,它为您的系统推荐适当的调整配置文件。它同时为您的系
统在安装时设置默认的配置文件,因此可用于恢复默认配置。
红帽企业版 Linux 7 提供对自动 NUMA 平衡的支持。系统内核自动探测主动使用的内存页进程线程,并且
将这些线程和它们的内存进行 NUMA 节点内或跨节点的分组。系统内核重新调度线程并迁移内存,从而为
最佳 NUMA 对齐方式和性能平衡系统。
启用文件系统 barrier(屏障)的性能惩罚现在是可忽略的(少于3%)。因此, tuned 配置文件不会禁用
文件系统 barrier。
使用新的 operf 工具,OProfile 增加了对基于 Linux 性能事件子系统配置文件的支持。这个新工具能替代
opcontrol 后台程序用于收集数据。
控制组作为一种分配资源到您系统中的某些进程组的方法仍然可用。红帽企业版 Linux 7 的实现的具体信息
请参见《红帽企业版 Linux 7 资源管理指南》,可在下列网站中查找
http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/。
3
性能调节指南
性能调节指南
第第 2 章章 性能监控工具
性能监控工具
本章简要说明了一些红帽企业版 Linux 7 可用的性能监控和配置工具。在可能的情况下,本章会进一步指导用
户使用该工具并举例说明可以使用该工具来解决的实际问题。
以下知识库文章提供适用于红帽企业版 Linux 的更为全面的性能监控工具列
表:https://access.redhat.com/site/solutions/173863。
2.1. /proc
/proc “文件系统”是一个目录,其中包含的文件层次结构代表了 Linux 内核的当前状态。它允许用户和管理员
查看系统的内核视图。
/proc 目录中还包含关于系统硬件及任何当前正在运行的程序信息。大部分在 /proc 中的文件是只读文件,
但一些文件(主要是 /proc/sys 文件)能够被用户和应用程序操作,以便向内核传达配置的修改信息。
关于查看及编辑 /proc 目录中文件的更多信息,请参见红帽企业版 Linux 7 系统管理员参考指南,可从
http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/ 中获得。
2.2. GNOME 系统监控器
系统监控器
GNOME 桌面系统包含一个图形工具,即系统监控器来协助用户监控及修改系统性能。系统监控器显示基本的
系统信息并能让用户监控系统进程,以及资源或文件系统的用量。
系统监控器有四个选项卡,每个都显示不同的系统信息。
系统系统
进程进程
资源资源
此选项卡显示关于系统硬件和软件的基本信息。
此选项卡显示关于活动进程和进程间相互关系的具体信息。显示的进程可进行筛选,以便更容易找
到某些特定的进程。
此选项卡显示目前 CPU 的时间使用量,内存和交换空间用量以及网络使用情况。
文件系统
文件系统
此选项卡列举了所有安装的文件系统,并提供每个的基本信息,例如文件系统类型、安装点和内存
使用情况。
要启动系统监控器,按超级键进入活动概览,输入 “System Monitor” ,然后按回车键。
关于系统监控器的更多信息,参见应用程序中的帮助菜单,或红帽企业版 Linux 7 《System Administrator's
Guide》,可从 http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/ 中获得。
2.3. PCP
红帽企业版 Linux 7 引入了对 PCP(性能协驾)的支持,PCP 是一套工具、服务及程序库,用于获取、存储
及分析系统级的性能测量值。其轻量级分布式体系结构尤其适合复杂系统的集中化分析。可以使用
Python,Perl,C++ 和 C 接口来添加性能指标。分析工具可以直接使用客户 API (应用编程接口)(Python,
C++, C),而且丰富的网页应用程序可以通过一个 JSON 接口来搜索所有可用的性能数据。
4