僕は実はすごく微妙な世代の人間で、すごくカリカリUNIXやらLinuxを触っていた人間ではない。なので、実際にサーバを管理したりする時にもちろんターミナルから色々操作する訳だが、その使い方にはそんなに精通していない。なので、ここで忘れない為に、色々調べた物を書いておきます。知っている物も含めて。
・vmstat
vmstatは、”性能解析や障害解析を行う際に最も基本的なコマンド”らしい。知らなかった。用法はこんな感じ。
1 2 3 4 5 6 7 8 |
#今の状態を出力 vmstat #指定したインターバル毎に状態を表示(ここでは1秒) vmstat 1 #指定したインターバル毎に指定した数だけ表示(ここでは1秒おきに3回出力) vmstat 1 3 |
見方はman見れば書いてあります。主なものだけ書きます。
- memory
- avm アクティブな仮想ページ
- fre フリーなメモリ
- cpu
- us ユーザもしくは低優先度のプロセスに使用されている時間
- sy システムに使用されている時間
- id CPU待機時間
・dmesg
dmesgは、”kernelがロードした物理的なデバイスの状況を表示する”コマンド。ハードウェア的な疑いを持つ場合はこれを見ると良い。ディスクの読み込みに失敗してないかとか。lessかけると見やすい。モノによってはログが残っているけど、残っていない場合は直接これで見る。
・top
topは、”現在のシステム状況をリアルタイムに表示する”コマンド。プロセスのCPU使用率等をリアルタイムに見る時に便利。
・ps
psは、”プロセスの状態を見る”コマンド。ハイフン無しオプションで情報の粒度を決定できる。
・tcpdump
tcpdumpは”ネットワーク上に流れるパケットをモニタリングする”コマンド。さくっと見る場合、こんな感じに見れる。
1 2 |
#インターフェースen0に流れる情報をキャプチャ tcpdump -i en0 |
インターフェースはifconfigから確認してください。