topコマンドの使い方
今回は、特に覚えておきたいtopコマンドの使い方について解説します。【連載コラム:Linuxシステム管理標準教科書を読む(34)】
Linuxの基本的なスキルを習得したら、Linuxサーバーをシステムとして長期に運用管理していくためのスキルを身につけるのはいかがでしょうか。このコラムでは、「Linuxシステム管理標準教科書」の全体調整を担当した筆者が改めて大切なポイントを解説していきます。
topコマンドは、システムの負荷を確認するために使用するコマンドです。普通に起動するだけでもそれなりに使えますが、表示される数値の読み方や、コマンドによる表示の変更などを覚えておくと、より活用できるでしょう。ここでは特に覚えておきたいtopコマンドの使い方について解説します。
load averageの意味
topコマンドの表示で右上に表示されているload averageは、それぞれ左から1分前、5分前、15分前のCPUに対する負荷を表しています。たとえば、そのシステムにCPUが1つある場合、100%CPUが使用されている負荷状態がload average 1です。負荷状態が2になると、CPUを半分しか使用できず半分の時間は待たされている状態ということになります。
CPU負荷が100%以下であれば処理は待たされずに実行できますが、負荷が100%以上になることが必ずしも悪いわけではありません。待たされても問題のない処理なのであれば、処理が終わるのに時間がかかってしまうだけです。この待ち時間が許容できないぐらいの負荷になった時、topコマンドでload averageを確認し、CPU使用率が高いプロセスが何かを確認してみることになります。
load averageの算出
load averageの算出には、実行されているプロセスが動作中、あるいはストレージI/Oを待たされている状態から算出しています。動作中の方はCPUを使っているのでいいのですが、待たされている状態が多い場合には問題があります。load averageが高い場合、合わせてストレージI/Oの状態をiostatやvmstartなどで確認し、どのようなストレージ負荷にあるのかを確認することが重要です。
表示の変更
topコマンドの表示はキーコマンドの入力で変更できます。非常に沢山のコマンドがあるので、詳細はヘルプなどを確認してください。特によく使うコマンドを紹介します。
各CPUの負荷を表示する
デフォルトでは複数CPUの負荷を合計して表示していますが、各CPUへの負荷の偏りや分散を見たい場合には「1」を入力します。ただし、CPU数が多すぎると画面に収まらないので注意してください。
メモリ使用量ソート
デフォルトではプロセスはCPU負荷が高い順に表示されますが、メモリ使用量で確認したい場合には「M」(Shift+m)を入力します。CPU使用率に戻したい場合には「O」(Shift+o)を入力します。
システムの状態は、意識して見ないとわからないので、場合によってはターミナルを別途開いてtopコマンドを常時表示しながらシステムを動かしてモニタリングするなど、内部的な動作を確認する習慣をつけるとよいでしょう。
- 筆者紹介
宮原 徹 氏
Linux標準教科書、Linuxサーバー構築標準教科書などの監修者。LinuCレベル1/レベル2 Version10.0の改訂作業にも協力。また、幅広いOSSに関する情報提供の場として「オープンソースカンファレンス(OSC)」の企画運営も。
<Linuxシステム管理標準教科書とは>
「Linuxシステム管理標準教科書」(システム管理教科書)は2015年4月にリリースされた標準教科書シリーズの1冊です。Linuxシステムの運用管理という観点で書かれており、システム管理者という業務において知っておかなければならない基本的なトピックが解説されています。「Linux標準教科書」「Linuxサーバー構築標準教科書」でコマンド操作やサーバー構築の基本を学んだら、このシステム管理教科書を読んで、単にLinuxを使うのではなく、システムとして長期的に管理運用していくためのスキルを身につけてください。
バックナンバー
第33回:/etc/shadowでのパスワードのハッシュ化
第32回:EPELを使う
第31回:インストールISOイメージをリポジトリにする方法
第30回:dnfコマンドのモジュールを使ってみる
第29回:DNFを使ってみる