Red Hat Training

A Red Hat training course is available for RHEL 8

15.3. 監査用ツール

Red Hat Enterprise Linux 8 には、システムの監査および分析を実行できるツールが同梱されています。これらのほとんどは、すでに発見したものを確認したい場合、または特定の部分についてさらに詳細な情報が必要な場合の補助情報源として使用できます。

このツールの多くは、パフォーマンスの調整にも使用されます。以下に例を示します。

PowerTOP
これは、CPU を頻繁にウェイクアップするカーネルおよびユーザー空間アプリケーションの特定のコンポーネントを識別します。root で powertop コマンドを使用して PowerTop ツールを起動し、powertop --calibrate で電力見積もりエンジンを調整します。PowerTop の詳細は、PowerTOP を使用した電力消費の管理 を参照してください。
Diskdevstat and netdevstat

これは、システムで実行しているすべてのアプリケーションのディスクアクティビティーとネットワークアクティビティーに関する詳細情報を収集する SystemTap ツールです。これらのツールによって収集された統計を使用すると、少数の大規模な操作ではなく、多くの小規模な I / O 操作で電力を浪費するアプリケーションを特定できます。root で yum 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_intervaltotal_duration、および display_histogram の 3 つのパラメーターを指定できます。

TuneD
これは、udev デバイスマネージャーを使用して、接続されたデバイスを監視し、システム設定の静的チューニングおよび動的チューニングの両方を有効にするプロファイルベースのシステムチューニングツールです。tuned-adm recommend コマンドを使用すると、Red Hat が特定の製品に最も適したプロファイルを判別できます。TuneD の詳細は、TuneD を使い始める および TuneD プロファイルのカスタマイズ を参照してください。powertop2tuned utility を使用して、PowerTOP の提案からカスタムの TuneD プロファイルを作成できます。powertop2tuned ユーティリティーの詳細は、電力消費の最適化 を参照してください。
Virtual memory statistics (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 ページを参照してください。

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 は、デバイスのメジャータプルおよびマイナータプルになります。2 番目の列 (1) には、CPU に関する情報が記載されています。次に、IO プロセスを実行するプロセスのタイムスタンプと PID の列が記載されています。

6 番目の列 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
[...]

デフォルトでは、tervostat は、画面全体のカウンター結果の概要を出力し、その後に 5 秒間隔でカウンター結果を出力します。-i オプションでカウンター結果の間隔を指定します。たとえば、turbostat -i 10 を実行して、10 秒間隔で結果を出力します。

Turbostat は、電力使用率またはアイドル時間に関して非効率的なサーバーを識別するのにも役立ちます。また、発生しているシステム管理割り込み (SMI) の比率を特定する場合にも便利です。また、これを使用して、電源管理の調整の効果を検証することもできます。

cpupower

IT は、プロセッサーの省電力関連機能を検証および調整するツール群です。frequency-infofrequency-setidle-infoidle-setsetinfo、および monitor オプションを指定して cpupower コマンドを使用し、プロセッサー関連の値を表示および設定します。

たとえば、利用可能な cpufreq ガバナーを表示するには、次のコマンドを実行します。

$ cpupower frequency-info --governors
analyzing CPU 0:
  available cpufreq governors: performance powersave

cpupower の詳細は、Viewing CPU related information を参照してください。

GNOME Power Manager
これは、GNOME デスクトップ環境にインストールされるデーモンです。GNOME Power Manager は、システムの電源ステータスの変更 (バッテリーから AC 電源への変更など) を通知します。また、バッテリーのステータスを報告し、バッテリー残量が少なくなると警告を表示します。

関連情報

  • man ページの powertop(1)diskdevstat(8)netdevstat(8)tuned(8)vmstat(8)iostat(1)blktrace(8)blkparse(8)、および turbostat(8)
  • man ページの cpupower(1)cpupower-set(1)cpupower-info(1)cpupower-idle(1)cpupower-frequency-set(1)cpupower-frequency-info(1)、および cpupower-monitor(1)