9.3. 用于审计的工具
Red Hat Enterprise Linux 提供系统审计和分析的工具。当您要验证已发现的内容或需要更多有关某些部分的深度信息时,它们都可以用作补充信息的来源。其中许多工具用于性能调优,其中包括:
- PowerTOP
-
powertop 标识频繁唤醒 CPU 的内核和用户空间应用程序的特定组件。Intel CPU 的 Intel 硬件 P-State (HWP)调整 CPU 频率和投票,以规范功耗和性能。您可以以 root 用户身份使用
powertop命令启动 PowerTOP 工具和powertop --calibrate来放大电源估算引擎。 diskdevstat和netdevstat这些是 SystemTap 工具,用于收集有关系统上运行的所有应用程序的磁盘和网络活动的详细信息。使用这些工具收集的统计数据,您可以识别与许多小 I/O 操作(而非更小且更大型的操作)的强大应用程序。以 root 用户身份使用
dnf install tuned-utils-systemtap kernel-debuginfo命令,安装diskdevstat和netdevstat工具。要查看磁盘和网络活动的详细信息,请使用:# diskdevstat PID UID DEV WRITE_CNT WRITE_MIN WRITE_MAX WRITE_AVG READ_CNT READ_MIN READ_MAX READ_AVG COMMAND 3575 1000 dm-2 59 0.000 0.365 0.006 5 0.000 0.000 0.000 mozStorage #5 3575 1000 dm-2 7 0.000 0.000 0.000 0 0.000 0.000 0.000 localStorage DB [...]# netdevstat PID UID DEV XMIT_CNT XMIT_MIN XMIT_MAX XMIT_AVG RECV_CNT RECV_MIN RECV_MAX RECV_AVG COMMAND 3572 991 enp0s31f6 40 0.000 0.882 0.108 0 0.000 0.000 0.000 openvpn 3575 1000 enp0s31f6 27 0.000 1.363 0.160 0 0.000 0.000 0.000 Socket Thread [...]使用这些命令,您可以指定三个参数:
update_interval、total_duration和display_histogram。- TuneD
-
它是一个基于配置文件的系统调整工具,它使用
udev设备管理器监控连接的设备,并支持系统设置的静态和动态调优。您可以使用tuned-adm recommend命令确定红帽推荐的配置集作为最适合特定产品的配置集。有关 TuneD 的详情,请参阅使用 TuneD 优化系统性能。使用powertop2tuned程序,您可以从 PowerTOP 建议创建自定义 TuneD 配置集。有关powertop2tuned工具的详情,请参考 优化功耗。 - 虚拟内存统计信息(
vmstat) procps-ng软件包提供的工具可用于查看进程、内存、分页、块 I/O、陷阱和 CPU 活动的详细信息。您可以使用以下命令查看这些信息:$ vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 5805576 380856 4852848 0 0 119 73 814 640 2 2 96 0 0使用
vmstat -a命令查看活动和不活跃的内存。iostat由
sysstat软件包提供,此工具与vmstat类似,但仅用于监控块设备上的 I/O。它提供了更详细的输出和统计数据。您可以使用以下命令来监控系统 I/O:$ iostat avg-cpu: %user %nice %system %iowait %steal %idle 2.05 0.46 1.55 0.26 0.00 95.67 Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn nvme0n1 53.54 899.48 616.99 3445229 2363196 dm-0 42.84 753.72 238.71 2886921 914296 dm-1 0.03 0.60 0.00 2292 0 dm-2 24.15 143.12 379.80 548193 1454712blktrace提供有关在 I/O 子系统中花费时间的详细信息。您可以使用以下命令以人类可读的格式查看此信息:
# blktrace -d /dev/dm-0 -o - | blkparse -i - 253,0 1 1 0.000000000 17694 Q W 76423384 + 8 [kworker/u16:1] 253,0 2 1 0.001926913 0 C W 76423384 + 8 [0] [...]第一列
253,0是设备主和次元组。第二列1提供有关 CPU 的信息,后跟用于发出 IO 进程的进程的时间戳和PID的列。第六个列Q显示事件类型,第 7 列,W代表写入操作,第 8 列为76423384,是块号,+ 8是请求的块的数量。最后一个字段[kworker/u16:1]是进程名称。默认情况下,blktrace命令会永久运行,直到进程被明确终止。您可以使用-w选项指定运行时持续时间。turbostat它由
kernel-tools软件包提供。它报告了 x86-64 处理器上的处理器拓扑、频率、空闲的电源状态统计、温度和功耗。您可以使用以下命令查看概述:# turbostat CPUID(0): GenuineIntel 0x16 CPUID levels; 0x80000008 xlevels; family:model:stepping 0x6:8e:a (6:142:10) CPUID(1): SSE3 MONITOR SMX EIST TM2 TSC MSR ACPI-TM HT TM CPUID(6): APERF, TURBO, DTS, PTM, HWP, HWPnotify, HWPwindow, HWPepp, No-HWPpkg, EPB [...]默认情况下,
turbostat显示整个屏幕的计数器结果摘要,每 5 秒显示计数器结果。使用-i选项指定计数器结果之间的不同周期,例如,执行 turbostat-i 10每10秒打印结果。turbostat在识别电源使用或空闲时间方面效率低下的服务器也很有用。它还有助于识别系统中发生的系统管理中断 (SMI) 的速度。它还可用于验证电源管理调整的影响。cpupowercpupower软件包包含一组工具,用于检查和调优处理器的相关功能。您可以使用cpupower命令及frequency-info,frequency-set,idle-info,idle-set,set,info, 和 monitor 选项来显示和设置处理器相关值。例如,要查看可用的
cpufreq调控器,请使用:$ cpupower frequency-info --governors analyzing CPU 0: available cpufreq governors: performance powersave- GNOME Power Manager
- 它是作为 GNOME 桌面环境的一部分安装的守护进程。GNOME Power Manager 通知您系统的电源状态的变化,例如,从电池改为 AC 电源。它还会报告电池状态,并在电池电源较低时提醒您。
pmda-denki-
PMDA-denki监控功耗。它是 Performance Co-Pilot 套件的一部分,有助于监控一段时间内的消耗,并视觉化它。详情请查看 使用 pmda-denki 来控制 RHEL 系统的功耗。