Linux dstat コマンド

Linux コマンド大全


dstat は強力な Linux システム監視ツールで、CPU、メモリ、ディスク、ネットワークなどの主要な指標を含むシステムリソースの使用状況をリアルタイムに表示できます。dstat は従来の vmstat、iostat、netstat などのツールを置き換え、統一された監視インターフェースを提供することを目的としています。

dstat の主な特徴

  • 多機能統合:複数のシステム監視ツールの機能を統合
  • リアルタイム表示:システム状態を継続的に更新して表示
  • カスタマイズ性:監視する特定の指標をユーザーが選択可能
  • カラー出力:デフォルトでカラー表示を使用し、異常値を識別しやすい
  • CSV エクスポート:監視データを CSV 形式でエクスポート可能

dstat 基本構文

dstat の基本コマンド形式は次のとおりです:

dstat [选项] [间隔时间] [执行次数]

一般的なパラメータの説明

パラメータ 説明
-c CPU使用状況を表示
-d ディスクの読み書き状況を表示
-m メモリ使用状況を表示
-n ネットワーク状態を表示
-l システム負荷を表示
-p プロセス状態を表示
-s スワップパーティションの使用状況を表示
-t タイムスタンプを表示
--output 出力を CSV ファイルに保存
--top-cpu 最もCPUを消費するプロセスを表示
--top-mem 最もメモリを消費するプロセスを表示

一般的な監視シナリオの例

1. 基本的なシステム監視

dstat -cdlmnpsy

このコマンドは以下を表示します:

  • CPU使用率
  • ディスク読み書き
  • システム負荷
  • メモリ使用
  • ネットワーク状態
  • プロセス状態
  • スワップパーティション使用状況

2. 特定リソースの監視

例

graph TD
A[監視開始] --> B{監視項目の選択}
    B -->|CPU| C[dstat -c]
B -->|メモリ| D[dstat -m]
B -->|ディスク| E[dstat -d]
B -->|ネットワーク| F[dstat -n]

3. タイムスタンプ付きの監視

dstat -t -cdm

出力例:

----system---- ----total-cpu-usage---- -dsk/total- ---memory-usage----
     time     |usr sys idl wai hiq siq| read  writ| used  buff  cach  free
12-05 14:30:01|  2   1  96   0   0   1|  12k   25k| 3.2G 1.1G  5.6G  2.4G
12-05 14:30:02|  3   1  95   0   0   1|  24k   18k| 3.2G 1.1G  5.6G  2.4G

4. 監視結果をファイルに保存

dstat -cdm --output /tmp/dstat_output.csv 5 10

このコマンドは:

  • CPU、ディスク、メモリを監視
  • 5秒ごとに更新
  • 合計10回実行
  • 結果を /tmp/dstat_output.csv に保存

高度な使い方

1. 特定プロセスの監視

dstat --top-cpu --top-mem

2. カスタム監視項目

dstat -c -d -n -N eth0,total

このコマンドは以下を監視します:

  • CPU使用状況
  • ディスクアクティビティ
  • ネットワークトラフィック(特定のNIC eth0 と合計)

3. プラグインの組み合わせ

dstat は複数のプラグインをサポートしており、カンマで区切ることができます:

dstat --time,proc,disk,net,tcp,load,sys

よくある質問(FAQ)

1. dstat と top コマンドの違いは何ですか?

特徴 dstat top
表示方式 テーブル形式 リスト形式
監視範囲 システム全体 主にプロセス
更新方法 間隔をカスタマイズ可能 固定間隔
データエクスポート CSV サポート サポートなし

2. dstat をインストールするには?

ほとんどの Linux ディストリビューションでは、パッケージマネージャーでインストールできます:

例

# Ubuntu/Debian
sudo apt-get install dstat

# CentOS/RHEL
sudo yum install dstat

# Fedora
sudo dnf install dstat

3. dstat の出力をどう解釈するか?

  • CPU 部分:usr(ユーザー空間)、sys(システム空間)、idl(アイドル)、wai(IO待機)
  • メモリ部分:used(使用済み)、buff(バッファ)、cach(キャッシュ)、free(空き)
  • ディスク部分:read(読み取り)、writ(書き込み)、単位は通常 KB/s

ベストプラクティスの推奨

  1. 長期監視:サーバーの場合は、--outputパラメータを使用して監視データを保存することをお勧めします
  2. 問題診断:システムにパフォーマンス問題が発生した場合は、dstat -tcdmn各リソースの使用状況をすばやく確認します
  3. ベンチマークテスト:システムチューニングの前後に dstat を使用してパフォーマンスデータを記録し比較します
  4. カスタムビュー:実際のニーズに応じて独自の dstat 監視の組み合わせを作成し、エイリアスとして保存して使いやすくします

まとめ

dstat は Linux システム管理者と開発者にとって強力なツールであり、包括的なシステム監視機能を提供し、高度にカスタマイズ可能です。dstat を習得することで、次のことができます:

  1. システムのパフォーマンスボトルネックをすばやく特定
  2. 主要リソースの使用傾向を監視
  3. 分析用のパフォーマンスデータを収集
  4. 単一機能の複数の監視ツールを置き換え

読者は実際の作業でさまざまなパラメータの組み合わせを試し、自分の作業シーンに最適な監視方法を見つけることをお勧めします。


Linux コマンド大全

その他の拡張