BLOGスタッフブログ

インソースマーケティングデザイン

2012.06.15 システム

トラブルシューティング時におけるtopコマンドの使い方

今回はLinuxサーバーでトラブルが発生した際のtopコマンドの使い方を紹介したいと思います。

普段はSSHクライアントからタイムアウトしない為に打つ位しか用のないtopコマンドですが、サーバーの状態を把握したい時や、トラブル発生時に少しでも情報を集めたい時にはとても有用なツールとして活躍してくれます。

↓topコマンド実行結果例

 top – 10:02:02 up 236 days, 14:31, 0 users, load average: 0.01, 0.02, 0.00 ←①
 Tasks: 101 total, 1 running, 99 sleeping, 0 stopped, 1 zombie
 Cpu(s): 0.5%us, 0.1%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st ←②
 Mem: 4050928k total, 3376860k used, 674068k free, 416792k buffers
 Swap: 2048276k total, 26252k used, 2022024k free, 1932948k cached

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND ←③
  (~省略~)
 21121 root 18 0 315m 13m 7568 S 0.0 0.3 0:00.10 httpd
 21124 apache 15 0 385m 70m 5000 S 0.0 1.8 0:27.28 httpd
 21125 apache 15 0 384m 66m 4244 S 0.0 1.7 0:19.87 httpd
 21126 apache 15 0 383m 68m 4876 S 0.0 1.7 0:18.73 httpd
 21127 apache 15 0 382m 68m 4584 S 0.0 1.7 0:20.59 httpd
 21128 apache 15 0 385m 71m 4568 S 0.0 1.8 0:22.46 httpd
 21129 apache 16 0 382m 65m 4616 S 0.0 1.7 0:19.74 httpd
 21130 apache 15 0 380m 64m 4272 S 0.0 1.6 0:18.56 httpd
 21131 apache 15 0 380m 66m 4600 S 0.0 1.7 0:23.47 httpd
 21475 apache 15 0 382m 68m 4808 S 0.0 1.7 0:15.33 httpd
 21521 apache 16 0 380m 66m 4436 S 0.0 1.7 0:17.05 httpd

①load average
CPUの処理待ちとなっているプロセス数平均を表しています。
左から順に1分、5分、15分毎の平均値となっており、仮に3番目の「15分毎の平均値」が1以上の場合はサーバーの処理が間に合わない「何か」が起きていると見てよいでしょう。

②Cpu
CPUのステータスを表しています。
導入したプログラムが予期しない動作をし、CPU使用率が100%に張り付いてしまった場合は、us(ユーザープロセスの使用率)とsy(システムプロセスの使用率)を確認しましょう。単に重い処理を実行してCPU使用率が100%になった場合とプロセスが暴走した場合ではusとsyの割合が異なるケースがあります。

 us:ユーザプロセスの使用率
 sy:システムプロセスの使用率
 id:アイドル率

③プロセス情報
現在実行されているプロセスの状態を表しています。
着目するポイントとして、一つ目は「同一プロセスの実行数」。二つ目は「各プロセスのCPUとメモリの使用状況」を確認します。各プロセスのリアルタイムの動きを確認することで、推測の幅を広げ、問題解決の糸口を探していきます。

 USER   :プロセス実行ユーザー
 VIRT   :プロセスが使用している仮想メモリ
 RES   :プロセスが使用しているスワップされていない物理メモリ
 %CPU   :CPU使用率
 %MEM   :メモリ使用率
 TIME+  :プロセスの実行時間(秒)
 COMMAND :コマンド名

以上が私のtopコマンドの使い方です。稼働中のサーバーに手を加える事が難しい場合や、ログが何も出力されない状況で藁にもすがる思いの方にはtopコマンドで少しでも情報を集めると良いです。

インソースマーケティングデザインが書いた他の記事

見積もり・ご依頼など、
お気軽にご相談ください

本サイトはユーザーエクスペリエンスの向上などを目的に、Cookieを使用しています。
右記のバナーで「同意する」をクリックする、または本サイトを利用することにより、
お客様は弊社のCookieポリシーに同意したことになります。

同意します