サーバ負荷状況をみるLinuxコマンド一覧
今日はサーバの負荷状況をみるコマンドを勉強しましたので、私的メモとして残しておきます。
だいたい以下のようなものがあるようです。
uptime
ロードアベレージを表示します。
現在時間、サーバの稼働時間、ログインユーザ数、ロードアベレージを表示します。
*ロードアベレージについては以下が詳しいです。
パフォーマンス・モニタでCPUとディスクのロード・アベレージを表示させる − @IT
free
メモリーの使用状況を表示します。(kバイト)
・total:全物理メモリ量、used:使用メモリ、free:使用していないメモリ、shares:共有メモリ、bufferes:バッファメモリ、cached:キャッシュメモリ、used(-/+bufferes/cache):usedからbufferesとcacheを引いたメモリ、free(-/+bufferes/cache):freeにbufferesとcacheを足したメモリ
top
topはサーバのCPUやメモリの使用状況と各プロセスの表示をするコマンドです。
・1行目
uptimeと同じです。
・2行目
タスクの合計数、実行中タスクの数、スリープ中のタスクの数、停止中のタスクの数、ゾンビタスクの数を表示します。
・3行目
CPU利用時間の割合を表示します。それぞれ、us:ユーザプロセス、sy:システムプロセス、ni:niceされたプロセス、id:アイドル状態のプロセス、wa:IO待ちのプロセス、hi:ハードウェア割り込みプロセス、si:ソフトウェア割り込みプロセス、st:仮想化環境で他OSのプロセスの時間です。
・4行目と5行目
Mem:メモリの使用量
Swap:スワップの量
・6行目以降
各プロセスの使用状況
PID:プロセスID、USER:プロセス実行ユーザ、PR:優先度、NI:相対優先度、VIRT:仮想メモリサイズ(スワップされたメモリ含む)、RES:使用したメモリ、SHR:共有メモリ、S:プロセスの状態、%CPU:CPU使用率、%MEM:メモリ使用率、TIME+:プロセスの実行時間、COMMAND:実行中のコマンド名
vmstat
vmstat 間隔 回数
vmstat 1 6 : 1秒間隔で6回表示する。
vmstatはメモリやCPUのディスクIOの稼働状況を表示するコマンドです。
例えば、プロセスとCPUの関係は以下の通りです。
プロセス生成→実行可能状態(R)→実行状態(O)→スリープ状態(S)
・procsのrは実行可能状態でいるプロセスの数
・procsのbはIO待ち状態でいるプロセスの数
・cpuのus,syはユーザ、システムが実行中でいる割合(%)
・cpuのidはアイドル状態でいる割合(%)
・cpuのwaはIO待ちでいる時間
sar
CPU使用率、ディスクI/O等の状態の表示、また過去のログを見ることができます。sysstatパッケージに含まれています。
sar -u
・%user:ユーザプロセス使用状態、%system:システムプロセス使用状態、%iowait:ディスクIO待ち状態、%idle:アイドル状態
sar -b
・tps:秒間I/Oリクエスト数、rtps:秒間読み込みIOリクエスト数、wtps:秒間書き込みIOリクエスト数、bread/s:ブロック単位の秒間読み込みIOリクエストのデータ量、bwrtn/s:ブロック単位秒間書き込みIOリクエストのデータ量
次回は、実際の負荷のパターンに対して、どのコマンドを使って、どの値を見ていくべきなのかを調べたいと思います。
[Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ)
- 作者: 伊藤直也,田中慎司
- 出版社/メーカー: 技術評論社
- 発売日: 2010/07/07
- メディア: 単行本(ソフトカバー)
- 購入: 80人 クリック: 1,849回
- この商品を含むブログ (132件) を見る