Menu Close
Settings Close

Language and Page Formatting Options

14.3. 用于审计的工具

Red Hat Enterprise Linux 8 提供用于执行系统审核和分析的工具。如果您想要验证已发现的内容或需要更深入地了解某些部分,则大部分信息可以用作补充信息的来源。

其中许多工具也用于性能调优,其中包括:

powertop
它可识别频繁绕过 CPU 的内核和用户空间应用程序的特定组件。以 root 用户身份使用 powertop 命令启动 PowerTop 工具和 powertop --calibrate 来布线电源估算引擎。有关 PowerTop 的更多信息,请参阅使用 PowerTOP 管理功耗
Diskdevstat 和 netdevstat

它们是 SystemTap 工具,可收集有关系统中所有应用程序的磁盘活动和网络活动的详细信息。使用这些工具收集的统计数据,您可以识别与许多小 I/O 操作(而非更小且更大型的操作)的强大应用程序。以 root 用户身份使用 dnf install tuned-utils-systemtap kernel-debuginfo 命令,安装 diskdevstatnetdevstat 工具。

要查看磁盘和网络活动的详细信息,请使用:

# 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_intervaltotal_durationdisplay_histogram

TuneD
它是一个基于配置集的系统调整工具,它使用 udev 设备管理器监控连接的设备,并支持系统设置的静态和动态调优。您可以使用 tuned-adm recommend 命令确定红帽推荐的配置集作为最适合特定产品的配置集。如需有关 TuneD 的更多信息,请参阅开始使用 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 命令,可以显示活动和不活跃的内存。有关其他 vmstat 选项的更多信息,请参见 vmstat man page。

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     1454712
blktrace

它提供有关在 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) 的速度。它还可用于验证电源管理调整的影响。

cpupower

IT 是用于检查和调优处理器相关功能的工具集合。在 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

有关 cpupower 的更多信息,请参阅查看 CPU 相关信息。

GNOME Power Manager
它是作为 GNOME 桌面环境的一部分安装的守护进程。GNOME Power Manager 通知您系统的电源状态变化,例如,从电池改为 AC 电源。它还会报告电池状态,并在电池电源较低时提醒您。

其他资源

  • powertop(1), diskdevstat(8), netdevstat(8), tuned(8), vmstat(8), iostat(1), blktrace(8), blkparse(8), 和 turbostat(8) man page
  • cpupower(1), cpupower-set(1), cpupower-info(1), cpupower-idle(1), cpupower-frequency-set(1), cpupower-frequency-info(1), and cpupower-monitor(1) man page