よかろうもん!

アプリからインフラまで幅広くこなすいまどきのクラウドエンジニアが記す技術ブログ

watch コマンド

ログファイルなど随時書き込まれるファイルの内容を常に表示させるには tail コマンドに -f オプションを付ければOKです。

だけど、/proc 以下のLinuxシステム上のリソース関連情報を常に表示させるとに tail コマンドで表示させておこうとしても以下のようになってしまう。

$ tail -n 30 -f /proc/meminfo
MemTotal: 255712 kB
MemFree: 7804 kB
Buffers: 4364 kB
Cached: 99664 kB
SwapCached: 21288 kB
Active: 159560 kB
Inactive: 66748 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 255712 kB
LowFree: 7804 kB
SwapTotal: 979956 kB
SwapFree: 942408 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 101028 kB
Mapped: 47480 kB
Slab: 12568 kB
SReclaimable: 5740 kB
SUnreclaim: 6828 kB
PageTables: 2180 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 1107812 kB
Committed_AS: 849572 kB
VmallocTotal: 770040 kB
VmallocUsed: 3168 kB
VmallocChunk: 766664 kB
tail: /proc/meminfo: ファイルが切り詰められました

※これはubuntuで試した結果です

こんなときは watch コマンドを使えば解決するということを今日知りました。
使い方は至って簡単。

$ watch cat /proc/meminfo

これでmeminfoをリアルタイムに確認することができます。
meminfoの場合はtopコマンドなどで確認すればよいのですが、
NIC冗長化技術の1つであるbondingをアクティブ - バックアップモードで利用している場合に、どちらがアクティブなのかを確認したり(/proc/net/bonding/bond0)、ネットワークRAIDのような技術であるDRBDを利用していてどちらがMASTERなのかをリアルタイムに確認(/proc/drbd)しておきたいときに何度も cat コマンドを打たなくてよくなります。
いやぁ〜、便利ですなぁ〜。