6.2. 监控和诊断性能问题
红帽企业 Linux 7 提供了很多工具,这些工具可用于监控系统性能并诊断与处理器及其配置相关的性能问题。本节概述了可用的工具,并提供了如何使用它们监控和诊断处理器相关性能问题的示例。
6.2.1. turbostat
turbostat 以指定间隔打印计数器结果,以帮助管理员识别服务器中的意外行为,如过量电源使用、无法进入深度睡眠状态或系统管理中断(SMI)创建不必要。
turbostat 工具是 kernel-tools 软件包的一部分。它支持在带有 AMD64 和 Intel® 64 处理器的系统中使用。它需要 root 权限才能运行,并且处理器支持 invariant 时间戳计数器以及 APERF 和 MPERF 模型特定的寄存器。
有关用法示例,请参阅 man page:
$ man turbostat
6.2.2. numastat
重要
此工具在 Red Hat Enterprise Linux 6 生命周期中收到大量更新。虽然默认输出仍与 Andi Kleen 编写的原始工具兼容,但向 numastat 提供任何选项或参数都会显著更改其输出格式。
numastat 工具显示进程和操作系统的每个 NUMA 节点内存统计信息,并显示进程内存是否在整个系统中分散或集中到特定的节点上。
交叉引用每个处理器 顶部 输出的 numastat 输出,以确认进程线程正在分配进程的同一节点上运行。
numastat 由 numactl 软件包提供。有关 numastat 输出的详情,请查看 man page:
$ man numastat
6.2.3. /proc/interrupts
/proc/interrupts
文件列出了从特定 I/O 设备发送到每个处理器的中断数量。它显示中断请求(IRQ)编号、系统中各个处理器处理的中断请求数、发送的中断类型,以及以逗号分隔的设备列表来响应列出的中断请求。
如果特定应用或设备生成大量中断请求,由远程处理器处理,其性能可能会受到影响。在这种情况下,通过让处理器与应用程序或设备在同一节点上处理中断请求,可以降低性能。有关如何将中断处理分配给特定处理器的详情请参考 第 6.3.7 节 “在 AMD64 和 Intel 64 中设置 Interrupt Affinity”。
6.2.4. 使用 pqos 进行缓存和内存带宽监控
pqos 工具可从 intel-cmt-cat 软件包获得,可让您监控最近 Intel 处理器上的 CPU 缓存和内存带宽。
pqos 实用程序提供类似于 top 实用程序的缓存和内存监控工具。它监控:
- 每个周期(IPC)的说明。
- 最后一个级别缓存 MISSES 的数量。
- 程序在 LLC 中给定 CPU 占用空间中执行的 KB 大小。
- 到本地内存的带宽(MBL)。
- 到远程内存的带宽(MBR)。
使用以下命令启动监控工具:
#
pqos --mon-top
输出中的项目按最高 LLC 排序。
其它资源
- 有关 pqos 实用程序和相关处理器功能的一般概述,请参阅 第 2.14 节 “pqos”。
- 有关如何使用 CAT 的示例,可以最大程度降低 noisy 邻居虚拟机对数据平面开发套件(DPDK) 的网络性能的影响,请参阅《数据平面开发套件》Intel 白皮书的平台确定服务增加。