{category}

Linux - パフォーマンス監視

dstat

ディースタット(システムモニタリングとトラブルシューティング

意味 システムリソース統計


dstatとは?

dstatは、CPU、ディスク、ネットワーク、I/O、メモリなど、システムのリソース統計情報をリアルタイムで表示するLinuxコマンドです。複数のシステムリソースを同時に監視でき、カスタマイズも容易です。

dstatの具体的な使い方

リソース統計の表示例

$ dstat -cdngy

👇出力結果

----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai stl| read  writ| recv  send|  in   out | int   csw
  2   1  97   0   0|  12k   14k|   0     0 |   0     0 | 250   520
  3   1  96   0   0|   0     0 | 432B  876B|   0     0 | 248   515
  2   1  97   0   0|   0    40k| 618B  434B|   0     0 | 255   530
  2   1  97   0   0|   0     0 | 410B  434B|   0     0 | 242   508
  3   1  96   0   0|   0    36k| 826B  434B|   0     0 | 260   540

この例では、CPU(-c)、ディスク(-d)、ネットワーク(-n)、ページング(-g)、システム(-y)の統計情報を同時に表示します。デフォルトでは1秒間隔で更新されます。

メモリとスワップの使用状況表示

$ dstat -m -s --top-mem 3

👇出力結果

----memory-usage---- ----swap--- ------most-expensive-
used  buff  cach  free|  used   free|  memory process
5.8G  144M 4308M 5828M|   0B 8192M|httpd       241M
5.8G  144M 4308M 5828M|   0B 8192M|mysqld      180M
5.8G  144M 4308M 5828M|   0B 8192M|php-fpm     120M

この例では、メモリ(-m)とスワップ(-s)の使用状況、および最もメモリを使用している上位3プロセス(--top-mem 3)を表示します。

CPU使用率と上位プロセスの表示

$ dstat -c --top-cpu-adv

👇出力結果

---total-cpu-usage-- -----most-expensive-cpu-process-----
usr sys idl wai stl| pid  program    usr sys cli  read write cpu
  2   1  97   0   0|1234 nginx       0.1 0.2   - 1.2M 2.3M 0.3%
  3   2  95   0   0|5678 python3     0.8 0.3   -  15M  22M 1.1%
  4   1  95   0   0|9012 java        1.2 0.4   -  30M  45M 1.6%

この例では、CPU使用率(-c)と、CPUを最も使用している上位プロセスの詳細情報(--top-cpu-adv)を表示します。

dstatに関するよくある質問

Q. dstatとtopの違いは?
A. dstatとtopはともにシステムモニタリングツールですが、いくつかの違いがあります。dstatは複数のシステムリソース(CPU、ディスク、ネットワークなど)を同時に表示し、カスタマイズが容易です。一方、topは主にプロセスごとのリソース使用状況に焦点を当てています。dstatは時系列データを表形式で表示し、CSVエクスポートも可能ですが、topはリアルタイムの概要を提供します。
Q. dstatの出力を保存できますか?
A. はい、dstatの出力をファイルに保存できます。--outputオプションを使用してCSVファイルに出力を保存できます。例えば、「dstat --output /tmp/dstat.csv」というコマンドは、dstatの出力を/tmp/dstat.csvファイルに保存します。これにより、後で詳細な分析やグラフ作成が可能になります。
Q. dstatでカスタム統計を表示できる?
A. はい、dstatは非常に柔軟で、カスタム統計を表示できます。-cオプション(CPU)、-dオプション(ディスク)などの標準オプションに加えて、--top-cpu、--top-io、--top-memなどのオプションを使用して、特定のリソースを最も多く使用しているプロセスを表示できます。また、Pythonプラグインを作成することで、完全にカスタマイズされた統計を追加することも可能です。

dstatが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Linuxのdstatやstrace、logrotate、iftop、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Linuxを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Linuxはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

strace

システムコールの追跡

種類: デバッグツール

logrotate

ログファイルの自動管理

種類: ログ管理

iftop

ネットワークトラフィック監視

種類: パフォーマンス監視

id

ユーザー情報表示コマンド

種類: ユーザー管理

env

環境変数の表示と設定

種類: 環境変数