😸
[自分用メモ]本番インフラ対応時によく使うコマンド:top
本番対応でよく使うコマンドをメモしておく
- 自社で運用サポートしている案件等ではよくサーバー負荷状況についての問い合わせがくる
- あるいはWebへのアクセスが遅いようなのだけども何かサーバー負荷が発生しているか等・・
- よく使うコマンド・Tipsを整理しておこうと思います。(自分用メモです)
- この記事では
top
コマンド(uptime
コマンド)がメイン
前提環境
- 現在対応している案件で使用しているのが多いOSはCentOS7 と Amazon Linux2
- Ubuntsuは実務ではいじったことないので一旦割愛
topコマンド
- 現在実行中のプロセスを継続的に監視できる(表示は3秒ごとに更新される)
$top #デフォルト、CPU使用率順に表示
$top -a #メモリリ使用率順に表示
$top -p [PID] #特定のプロセスを監視
$top -d 1 #1秒ごとに更新、指定した間隔で更新可能
$top -c #実行されているコマンドの内容をフルパスで出力させる
参考
topコマンドの使い方
ヘッダーについて確認
- 1行目
キー | 説明 |
---|---|
top | 時刻 |
up | OSが起動してからの時間 |
user | コンソールにログインしているユーザー数 |
load average | 左から[1分][5分][15分]平均の数値 ディスクIO待ちのプロセス数を示す。(システム全体の実行待ちプロセス数の平均値) ロードアベレージは uptime コマンドでも確認できるロードアベレージの正常値は「CPUのコア数で判断」 |
load average補足
今検証しているサーバーのCPUのコア数を調べると・・・
コア数は1:正常値は1以下と判断する
[developer@kuroiwa-t ~]$ grep cpu.cores /proc/cpuinfo | sort -u
cpu cores : 1
uptime
コマンドでもロードアベレージが参照可能
[developer@kuroiwa-t ~]$ uptime
12:06:00 up 82 days, 23:59, 1 user, load average: 0.00, 0.04, 0.05
※ロードアベレージが高い=「プロセスからディスクへの書き込みが積滞している」のであり、一般的なボトルネックの箇所と考えてよいかも
- 2行目
キー | 説明 |
---|---|
Tasks | 現在のプロセス状況を見ることができる total:プロセスの総数 running:実行中のプロセス sleeping:休止中のプロセス stopped:実行を停止されたプロセス zombie:コンピューターで、すでに処理が終了しているにもかかわらず、システム上で残存しているプロセス。CPUやメモリーなどの資源を占有するため、コンピューターの動作に悪影響を及ぼすことがある |
- 3行目
キー | 説明 |
---|---|
%Cpu(s) | CPU使用状況。各使用時間の割合が確認できる user:ユーザプロセス使用時間の割合 system:システムプロセス使用時間の割合 nice:nice値(優先度)を設定されたプロセス使用時間の割合 idle:アイドル状態(何もしていない)時間の割合 I/O wait:読み込み/書き込みオペレーションの完了待ち時間の割合 idle:アイドル状態(何もしていない)時間の割合 I/O wait:読み込み/書き込みオペレーションの完了待ち時間の割合 hardware interrupt:ハードウェア割り込み時間の割合 software interrupt:ソフトウェア割り込み時間の割合 steal:CPUリソースを他サーバに割かれてしまい割り当てられなかった時間の割合 |
- 4行目
キー | 説明 |
---|---|
KiB Mem | メモリに関する情報 total:物理メモリ量 free :空いているメモリ量 used:割り当てられているメモリ量 buff/cache:バッファやキャッシュに割り当て中のメモリ量 |
- 5行目
キー | 説明 |
---|---|
KiB Swap | Swap領域に関する情報 total:物理メモリ量 free :空いているメモリ量 used:割り当てられているメモリ量 avail Mem:Swapに関してではなく、物理メモリの実質的な空き容量を指す |
Discussion