Linux システムプロセスのログアクティビティを監視するために「atop」をインストールする方法
Atop は、完了したプロセスも含め、すべてのプロセスのアクティビティをレポートできる全画面パフォーマンス モニターです。 Atop を使用すると、システム アクティビティの毎日のログを保存することもできます。同じものを、分析、デバッグ、システム過負荷の原因の特定など、さまざまな目的に使用できます。
機能の上に
- すべてのプロセスによる全体的なリソース消費量を確認する
- 利用可能なリソースがどれだけ使用されているかを確認する
- リソース使用率のログ記録
- 個々のスレッドによるリソース消費を確認する
- ユーザーごとまたはプログラムごとにプロセスアクティビティを監視する
- プロセスごとのネットワークアクティビティを監視する
Atop の最新バージョンは 2.1 で、次の機能が含まれています
- 新しいロギングメカニズム
- 新しいキーフラグ
- 新しいフィールド (カウンター)
- バグ修正
- 設定可能な色
Linux 上の監視ツールの上にインストールする
1. この記事では、システム プロセスを簡単に監視できるように、RHEL/CentOS/Fedora や Debian/Ubuntu ベースの派生製品などの Linux システム上にインストールして構成する方法を説明します。
RHEL/CentOS/Fedora の場合
まず、監視ツールの上にインストールするために、RHEL/CentOS/ システムで epel リポジトリを有効にする必要があります。
epel リポジトリを有効にしたら、以下に示すように、yum パッケージ マネージャーを使用してパッケージの上にインストールするだけです。
# yum install atop
あるいは、次のwget コマンドを使用して rpm パッケージを直接ダウンロードし、次のコマンドを使用して top のインストールを続行することもできます。
------------------ For 32-bit Systems ------------------
wget http://www.atoptool.nl/download/atop-2.1-1.i586.rpm
rpm -ivh atop-2.1-1.i586.rpm
------------------ For 64-bit Systems ------------------
wget http://www.atoptool.nl/download/atop-2.1-1.x86_64.rpm
rpm -ivh atop-2.1-1.x86_64.rpm
Debian/Ubuntu の場合
Debian ベースのシステムでは、apt-get コマンドを使用してデフォルトのリポジトリから atop をインストールできます。
$ sudo apt-get install atop
2. atop をインストールした後、システム起動時に atop が起動することを確認し、次のコマンドを実行します。
------------------ Under RedHat based systems ------------------
chkconfig --add atop
chkconfig atop on --level 235
$ sudo update-rc.d atop defaults [Under Debian based systems]
3. デフォルトでは、atop はすべてのアクティビティを 600 秒ごとに記録します。これはあまり役に立たないかもしれないので、トップの設定を変更して、すべてのアクティビティが60 秒間隔で記録されるようにします。そのためには、次のコマンドを実行します。
# sed 's/600/60/' /etc/atop/atop.daily -i [Under RedHat based systems]
sudo sed 's/600/60/' /etc/default/atop -i [Under Debian based systems]
インストールと設定が完了したので、次の当然の疑問は「どうやって使用するのですか? 」です。実際には、それにはいくつかの方法があります。
4. ターミナルのトップで実行すると、トップのようなインターフェイスが表示され、10秒ごとに更新されます。
# atop
次のような画面が表示されるはずです。
上内で異なるキーを使用して、さまざまな基準で情報を並べ替えることができます。以下にいくつかの例を示します。
5. スケジュール情報 – “s ”
キー – 各プロセスのメインスレッドのスケジュール情報を表示します。また、「実行中」状態にあるプロセスの数も示します。
# atop -s
6. メモリ消費量 – “m”
キー – 実行中のすべてのプロセスに関するメモリ関連情報を表示します。VSIZE 列は、仮想メモリの合計と RSIZE は、プロセスごとに使用される常駐サイズを示します。
VGROW と RGROW は、最後の間隔での増加を示します。 MEM 列は、プロセスによる常駐メモリの使用量を示します。
# atop -m
7. ディスク使用率の表示 – 「d 」
キー – システム レベル (LVM および DSK) でのディスク アクティビティを表示します。 >列)。ディスク アクティビティは、読み取り/書き込みによって転送されるデータの量として表示されます (RDDSK/WRDSK 列)。
# atop -d
8. 変数情報の表示 – “v ”
キー – このオプションでは、uid、pid、gid、cpu 使用率など、実行中のプロセスに関するより具体的なデータが表示されます。
# atop -v
9. プロセスの表示コマンド – 「c 」
キー:
# atop -c
10. プログラムごとの累積 – 「p 」
キー – このウィンドウに表示される情報はプログラムごとに累積されます。一番右の列は、どのプログラムが (間隔中に) アクティブであるかを示し、一番左の列は、プログラムが生成したプロセスの数を示します。
# atop -p
11. ユーザーごとの累積 – 「u 」
キー – この画面には、最後の間隔中にどのユーザーがアクティブであったかが表示され、各ユーザーが実行したプロセスの数が表示されます。
# atop -u
12. ネットワーク使用量 – “n ”
キー (netatop カーネル モジュールが必要) は、プロセスごとのネットワーク アクティビティを示します。
netatop カーネル モジュールをインストールしてアクティブにするには、次の依存関係パッケージをディストリビュータのリポジトリからシステムにインストールする必要があります。
# yum install kernel-devel zlib-devel [Under RedHat based systems]
sudo apt-get install zlib1g-dev [Under Debian based systems]
次にnetatop tarball をダウンロードし、モジュールとデーモンを構築します。
# wget http://www.atoptool.nl/download/netatop-0.3.tar.gz
tar -xvf netatop-0.3.tar.gz
cd netatop-0.3
「netatop-0.3」 ディレクトリに移動し、次のコマンドを実行してモジュールをインストールしてビルドします。
# make
make install
netatop モジュールが正常にインストールされたら、モジュールをロードしてデーモンを起動します。
# service netatop start
OR
sudo service netatop start
起動後にモジュールを自動的にロードする場合は、ディストリビューションに応じて次のコマンドのいずれかを実行します。
# chkconfig --add netatop [Under RedHat based systems]
sudo update-rc.d netatop defaults [Under Debian based systems]
次に、「n 」
キーを使用してネットワークの使用状況を確認します。
# atop -n
13. 履歴ファイルが保存されるディレクトリ。
# /var/log/atop/atop_YYYYMMDD
YYYY は年、MM は月、DD は現在の日です。例えば:
atop_20150423
atop によって作成されたファイルはすべてバイナリです。これらはログ ファイルやテキスト ファイルではないため、top 上でのみ読み取ることができます。ただし、Logrotate はこれらのファイルを読み取り、回転できることに注意してください。
サーバー時間の 05:05 から始まる今日のログを表示したいとします。次のコマンドを実行するだけです。
# atop -r -b 05:05 -l 1
上部のオプションは非常に多く、ヘルプ メニューを参照するとよいでしょう。そのためには、atop ウィンドウで「? 」文字を使用するだけで、atop が使用できる引数のリストが表示されます。最も頻繁に使用されるオプションのリストは次のとおりです。
私の記事が役に立ち、Linux システムの問題を絞り込んだり、問題を防止したりするのに役立つことを願っています。ご質問がある場合、または atop の使用法について説明が必要な場合は、以下のコメント セクションにコメントを投稿してください。
関連記事: Linux のパフォーマンスを監視する 20 のコマンドライン ツール