このエントリーをはてなブックマークに追加

サーバの各種リソース使用状況を確認するのに使えるコマンドにdstatというコマンドがあります。vmstatとか、何とかstatといったツールは結構いろいろありますが、dstatは結構お手軽でオプションなども解りやすく、使いやすいのでお勧めです。

また、dstatもredhatやCentOSと言ったメジャーなディストリビューションでも標準パッケージに含まれていて、yumなどでインストール可能になっていたり、インストール時に依存関係が無いため、他のライブラリの依存関係を壊してしまうと言ったことを気にする必要が無いのも採用時の障壁がなくて便利です。

インストール

通常はインストールされてない可能性がるので、以下のコマンドでインストールしてください。

$ sudo yum install dstat
[sudo] password for xxxxx:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/metalink                              | 5.5 kB     00:00
 * base: ftp.nara.wide.ad.jp
 * epel: mirrors.vinahost.vn
 * extras: ftp.nara.wide.ad.jp
 * rpmforge: ftp.riken.jp
 * updates: ftp.stu.edu.tw
base                                       | 3.7 kB     00:00
epel                                       | 4.2 kB     00:00
epel/primary_db                            | 5.4 MB     00:15
extras                                     | 3.4 kB     00:00
rpmforge                                   | 1.9 kB     00:00
updates                                    | 3.4 kB     00:00
updates/primary_db                         | 3.8 MB     00:05
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package dstat.noarch 0:0.7.0-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================
 Package  Arch      Version         Repository   Size
====================================================
Installing:
 dstat    noarch    0.7.0-1.el6     base         144 k

Transaction Summary
====================================================
Install       1 Package(s)

Total download size: 144 k
Installed size: 660 k
Is this ok [y/N]: y
Downloading Packages:
dstat-0.7.0-1.el6.noarch.rpm               | 144 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : dstat-0.7.0-1.el6.noarch                       1/1
  Verifying  : dstat-0.7.0-1.el6.noarch                       1/1

Installed:
  dstat.noarch 0:0.7.0-1.el6

Complete!

依存関係もないのでインストールも楽ちんです。

いろいろな使い方

使い方は簡単です。何もオプションを指定しない場合は以下のような出力になります。

$ dstat
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw
  1   0  99   0   0   0| 428B 3090B|   0     0 |   3B   24B|  46    55
  0   0 100   0   0   0|   0     0 | 212B 1188B|   0     0 |  40    49
  0   0 100   0   0   0|   0    12k| 212B  862B|   0     0 |  53    64

CPU使用率だけの表示でよい場合は-cオプションになります。

$ dstat -c
----total-cpu-usage----
usr sys idl wai hiq siq
  1   0  99   0   0   0
  0   0 100   0   0   0

同様にディスク使用量の場合は-dオプションになります

$ dstat -d
-dsk/total-
 read  writ
 428B 3090B
   0     0
   0   164k

ネットワークだけの場合は-nオプションになります。

$ dstat -n
-net/total-
 recv  send
   0     0
7416B 2091B
  14k   10k
  30k  295k

メモリだけでいい場合は-mオプションとなります。

$ dstat -m
------memory-usage-----
 used  buff  cach  free
 555M  107M  235M 94.6M
 555M  107M  235M 94.6M
 555M  107M  235M 94.6M

時刻を表示する場合は,-tオプションとなりますが、単独では以下のようになるのであまり意味はありません。

$ dstat -t
----system----
  date/time
25-10 21:00:51
25-10 21:00:52
25-10 21:00:53

他のオプションと組み合わせる必要があります。

$ dstat -cmdnt
----total-cpu-usage---- ------memory-usage----- -dsk/total- -net/total- ----system----
usr sys idl wai hiq siq| used  buff  cach  free| read  writ| recv  send|  date/time
  1   0  99   0   0   0| 555M  107M  235M 94.6M| 428B 3089B|   0     0 |25-10 21:02:34
  1   0  98   0   0   1| 555M  107M  235M 94.6M|   0     0 | 120B 1268B|25-10 21:02:35
  0   0 100   0   0   0| 555M  107M  235M 94.6M|   0     0 | 120B  756B|25-10 21:02:36
  0   1  99   0   0   0| 555M  107M  235M 94.6M|   0     0 | 120B  756B|25-10 21:02:37

順番が気に入らない場合は、オプションの順序で並べ替えができます。

$ dstat -tcdmn
----system---- ----total-cpu-usage---- -dsk/total- ------memory-usage----- -net/total-
  date/time   |usr sys idl wai hiq siq| read  writ| used  buff  cach  free| recv  send
25-10 21:03:38|  1   0  99   0   0   0| 428B 3089B| 555M  107M  235M 94.6M|   0     0
25-10 21:03:39|  0   0  99   0   0   1|   0     0 | 555M  107M  235M 94.6M| 120B 1268B
25-10 21:03:40|  0   0 100   0   0   0|   0     0 | 555M  107M  235M 94.6M| 120B  740B

また-nオプションや-dオプションにはその大文字オプションとパラメータを渡すことでさらに細かいデバイス指定などが出来たりもします。

eth0のネットワーク使用量だけ見たい場合は以下のように-nに加えて"-N eth0"を加えます。

$ dstat -n -N eth0
--net/eth0-
 recv  send
   0     0
 120B  612B
 558B 9222B

sdaのディスクIOだけ見たい場合は以下のように-dに加えて"-D sda"を加えます。

$ dstat -d -D sda
--dsk/sda--
 read  writ
 428B 3089B
   0     0
   0     0



記事一覧へ