すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:atop による Linux メトリクスのモニター

最終更新日:Jun 02, 2026

atop を使用してシステムとプロセスのアクティビティをリアルタイムでモニターしたり、過去の診断のためにバイナリログのスナップショットをリプレイしたりできます。

atop のインストール

  1. ワークベンチを使用して Linux インスタンスにログインします

  2. atop をインストールします。

    Alibaba Cloud Linux 2/3、CentOS 7/8、または Fedora

    # パッケージを更新します。
    sudo yum update -y
    
    # atop をインストールします。
    sudo yum install atop -y

    Ubuntu または Debian

    # パッケージを更新します。
    sudo apt update -y
    
    # atop をインストールします。
    sudo apt install atop -y

    CentOS Stream 9 または Rocky Linux 9

    # パッケージを更新します。
    sudo dnf update -y
    
    # EPELリポジトリをインストールします。
    sudo dnf install epel-release -y
    
    # atop をインストールします。
    sudo dnf install atop -y

    openSUSE

    # パッケージを更新します。
    sudo zypper update -y
    
    # atop をインストールします。
    sudo zypper install atop atop-daemon -y
  3. atop サービスを起動します。

    sudo systemctl start atop
  4. atop サービスが起動したことを確認します。

    sudo systemctl status atop を実行します。active (running) と表示されている場合は成功です。

リアルタイムメトリクスの表示

  1. atop [sampling_interval_in_seconds] [number_of_samples] を実行して、インタラクティブモードに入ります。出力には、システムリソースの概要とプロセスの詳細の 2 つのセクションがあります。

    # デフォルト設定で表示します (10 秒ごとに更新)。
    atop
    
    # 5 秒ごとにシステムメトリクスを表示します。
    atop 5
    
    # 10 秒間隔でシステムメトリクスを 30 回収集します。
    atop 10 30
    
    # 30 秒間隔でメトリクスを 10 回収集し、結果をファイルに書き込みます。
    atop 30 10 > /tmp/atop.mem
  2. インタラクティブモードでは、1 文字のキーを使用してビューを切り替えたり、プロセスをソートしたりします。

    キー

    機能

    用途

    c

    完全なコマンドラインを表示

    プロセスの起動パラメータを表示します。

    g

    汎用ビュー (デフォルト)

    CPU、メモリ増加、ディスク I/O の概要を表示します。

    m/M

    メモリビュー / メモリでソート

    メモリ使用量、ページフォルト、メモリリークを分析します。

    d/D

    ディスクビュー / ディスクでソート

    ディスクの読み書きが活発なプロセスを特定します。

    n/N

    ネットワークビュー / ネットワークでソート (netatop カーネルモジュールのインストールとロードが必要)

    ネットワークトラフィックが多いプロセスを特定します。

    a

    集約ビュー

    プログラムごとのすべてのスレッドまたはプロセスのリソース消費を集約します。

    C

    CPU でソート

    最も CPU 負荷の高いプロセスを特定します。

    h

    ヘルプを表示

    すべてのキーボードショートカットを一覧表示します。

    q

    終了

    インタラクティブモードを終了します。

履歴メトリクスの表示

atop サービスは定期的に /var/log/atop/ ディレクトリにバイナリログファイルを書き込みます。ファイル名は atop_YYYYMMDD フォーマットです。

atop のログはバイナリファイルです。catlessvim などのテキストエディターで開くと、判読不能な文字が表示されます。

履歴ログの読み取り

  1. 履歴ログファイルを読み取ります:

    atop -r <log_file> を実行して、ログファイルを読み込みます。

    # 今日のログを表示します。atop は当日のログファイルを自動的に検出します。
    atop -r
    
    # 特定の日付のログを表示します。
    atop -r /var/log/atop/atop_YYYYMMDD
  2. ログ内の特定の時刻へ移動します:

    ログファイルをロードすると、最初のスナップショットが表示されます。

    1. t を押すと、次のスナップショットに移動します。

    2. 大文字の T を押すと、前のスナップショットにジャンプします。

    3. b を押して時刻を HH:MM 形式で入力すると、その時刻にジャンプします。

ロギング動作の設定

atop の設定ファイルを変更し、ロギング頻度、保持期間、およびストレージパスを調整します。

  1. vim または別のエディターで設定ファイルを開きます:

    • RHEL およびその派生 (Alibaba Cloud Linux、CentOS、Fedora、Rocky Linux) の場合:

      sudo vim /etc/sysconfig/atop
    • Debian およびその派生 (Ubuntu、Debian) と openSUSE の場合:

      sudo vim /etc/default/atop
  2. デフォルトの設定には次のパラメーターが含まれます:

    LOGOPTS=""
    LOGINTERVAL=600
    LOGGENERATIONS=28
    LOGPATH=/var/log/atop
    • LOGOPTS: 追加のロギングオプション。 -L を設定すると、ログローテーション中に素早くアクセスできるよう、最新のログファイルを指すシンボリックリンクが /var/log/atop/atop_current に作成されます。

    • LOGINTERVAL: サンプリング間隔 (秒)。 デフォルト: 600 (10 分)、つまり atop は 10 分ごとにスナップショットを記録します。

    • LOGGENERATIONS: ログの保持日数。 デフォルト: 28atop は古いログを自動的に削除します。

    • LOGPATH:ログ保存パス。デフォルト: /var/log/atop

      新しいディレクトリが存在し、atop に書き込み権限があることを確認してください。
  3. atop サービスを再起動して変更を適用します:

    sudo systemctl restart atop

メトリックレポートの生成

atopsar は atop のバイナリログファイルからデータを抽出し、システムパフォーマンスレポートを生成します。

  • 1 分間 (5 秒間隔で 12 サンプル) の CPU 使用率レポートを生成するには:

    atopsar -c 5 12
  • 今日の特定の時間範囲のメモリレポートを生成するには:

    # 今日の 18:00 から 18:01 までのメモリメトリックレポートを表示します。
    atopsar -m -b 18:00 -e 18:01
  • 特定の日付の特定の時間範囲のメモリレポートを生成するには:

    # 2025 年 8 月 15 日の 18:00 から 18:01 までのメモリメトリックレポートを表示します。
    atopsar -m -r /var/log/atop/atop_20250815 -b 18:00 -e 18:01

atopsar のコマンド構文

atopsar [options] [interval] [count]
  • [options]-c (CPU)、-m (メモリ)、-d (ディスク) などのレポートタイプのフラグ。

  • [interval] :レポートの出力間隔 (秒単位)。

  • [count] :レポートの繰り返し回数。

メトリックリファレンス

システムリソースの概要

メトリックカテゴリ

メトリック

説明

単位

ATOP

ホスト名、日付

ホスト名、サンプリングの日付と時刻。

-

サンプリング間隔

2つのサンプル間の時間間隔。

PRC (プロセスの合計)

sys

すべてのプロセスがカーネルモードで消費した合計 CPU 時間。

user

すべてのプロセスがユーザーモードで消費した合計 CPU 時間。

#proc

プロセスの総数。

#trun

実行中のスレッドの平均数。

#tslpi

割り込み可能なスリープ状態のスレッド数。

#tslpu

割り込み不可能なスリープ状態のスレッド数。

#zombie

ゾンビプロセスの数。

clones

間隔中に clone を介して作成された新しいプロセスまたはスレッド。

カウント/秒

#exit

間隔中に終了したプロセス。

カウント/秒

CPU/cpu (合計/コアごと)

%sys

カーネルモードで費やされた CPU 時間。

%

%user

ユーザーモードで費やされた CPU 時間。

%

%irq

ハードウェア割り込み (irq) とソフトウェア割り込み (softirq) の処理に費やされた CPU 時間。

%

%idle

CPU が完全にアイドル状態であった時間。

%

%wait

ディスク I/O を待機している間の CPU アイドル時間。

%

%steal

仮想 CPU が物理 CPU を待機した時間 (ホストまたは他の VM によって奪われた時間)。

%

%guest

仮想マシンの実行に費やされた CPU 時間。

%

%freq

最大値に対する平均 CPU 周波数の割合。

%

CPL (CPU 負荷)

avg1/avg5/avg15

過去 1、5、15 分間のシステム負荷の平均。

-

csw

間隔中のコンテキストスイッチ。

カウント/秒

intr

間隔中の合計割り込み数。

カウント/秒

MEM (物理メモリ)

tot

合計物理メモリ。

GiB/MiB

free

空きメモリ。

GiB/MiB

cache

ファイルデータのページキャッシュとして使用されるメモリ。

GiB/MiB

dirty

変更されたが、まだディスクに書き込まれていないダーティページ。

MiB

buff

ブロックデバイスのメタデータ用のバッファキャッシュとして使用されるメモリ。

MiB

slab

カーネルスラブアロケーターによって使用されるメモリ。

MiB

shmem

tmpfsを含む共有メモリサイズ。

MiB

vmbal

(32 ビットシステムのみ) 仮想メモリ領域のバランスメモリ。

MiB

SWP (スワップパーティション)

tot

合計スワップ領域。

GiB/MiB

free

空きスワップ領域。

GiB/MiB

swcac

スワップアウトされたが、まだキャッシュされているメモリ。

MiB

vmcom

アプリケーションによってコミットされた合計仮想メモリ。

GiB/MiB

vmlim

コミット可能な最大仮想メモリ。

GiB/MiB

PAG (ページングアクティビティ)

scan

メモリを再利用するためにカーネルによってスキャンされたページ。

ページ/秒

steal

スキャン後に正常に再利用されたページ。

ページ/秒

stall

ページの再利用中にメモリ不足によって発生したストール。

カウント/秒

swin

スワップから物理メモリにスワップインされたページ。

ページ/秒

swout

物理メモリからスワップへスワップアウトされたページ。

ページ/秒

DSK (ディスク)

LVM (論理ボリューム)

busy

ディスクがビジー状態である割合。100%は飽和を示します。

%

read/write

間隔中に完了した読み取り/書き込みリクエスト。

カウント/秒

KiB/r/KiB/w

読み取り/書き込みリクエストごとの平均データサイズ。

KB

Msec/r/Msec/w

キューイングとサービス時間を含む、読み取り/書き込みリクエストごとの平均時間。

ミリ秒

avio

キューイングを除く、平均I/Oサービス時間。

ミリ秒

NET (ネットワーク)

transport

TCP および UDP レイヤーのパケット統計。

パケット/秒

network

IP レイヤーのパケット統計 (受信、送信、転送)。

パケット/秒

*if*

各ネットワークインターフェースのアクティビティ。

-

pcki/pcko

インターフェースで受信/送信されたパケット。

パケット/秒

spdi/spdo

受信/送信データ速度。

Mbps

erri/erro

インターフェースでの受信/送信エラー。

カウント/秒

drpi/drpo

インターフェースでの受信/送信中にドロップされたパケット。

カウント/秒

プロセスレベルの詳細

ビュー

メトリック

説明

単位

汎用ビュー (デフォルト)

PID

一意のプロセス識別子。

-

S

R ー 実行中、S ー 割り込み可能なスリープ、D ー 割り込み不可能なスリープ、Z ー ゾンビ、E ー 終了。

-

CPU%

CPU 使用率のパーセンテージ。

%

MEM%

メモリ使用率のパーセンテージ。

%

THR

スレッド数。

PAG

メジャーページフォルト — ディスクからメモリへの読み取り。ディスク I/O 圧力を示します。

カウント/秒

CMD

実行可能ファイル名。c を押すと、完全なコマンドラインが表示されます。

-

メモリビュー

VSIZE

プロセスによって要求された合計仮想アドレス空間。

KiB/MiB/GiB

RSIZE

プロセスが現在占有している物理メモリ。

KiB/MiB/GiB

SHR

共有メモリサイズ。

KiB/MiB/GiB

RGROW

常駐メモリの増加量。正 = 増加、負 = 減少。

KiB

VGROW

仮想メモリの増加量。

KiB

ディスクビュー

DSK%

このプロセスによって引き起こされる合計ディスクビジー時間の割合。

%

RDDSK/WRDSK

読み取り/書き込みされたディスクデータ。

KiB/MB

WCANCL

ページキャッシュに書き込まれたが、ディスクに同期される前に削除されたデータ。

KiB/MB

ネットワークビュー

NET%

このプロセスによって生成された合計ネットワークトラフィックの割合。

%

TCPSND/TCPRCV

送信/受信された TCP データ。

KiB/MB

UDPSND/UDPRCV

送信/受信された UDP データ。

KiB/MB

本番環境への適用

  • ディスク領域の計画atop のログサイズは、収集頻度、プロセス数、および保持期間によって変動します。 ls -lh /var/log/atop/ コマンドで単一のログファイルサイズを確認し、 LOGGENERATIONS の値を掛けて合計使用量を見積もります。

  • モニタリング間隔: 詳細な分析を行うには、 LOGINTERVAL を 30 秒に設定します。間隔を短くすると、 atop のディスク I/O と CPU オーバーヘッドが増加するため、ワークロードに応じて調整してください。

よくある質問

  1. atop -r を実行すると、stat raw file: No such file or directory というエラーが表示されるのはなぜですか?

    このエラーは、atop が指定された日付のログファイルを見つけられないことを意味します。考えられる原因は次のとおりです。

    1. その日付に atop サービスが実行されていませんでした。

    2. ログローテーション (LOGGENERATIONS を超過) によってログが削除されました。

    3. 指定した日付が未来の日付です。

      /var/log/atop で利用可能なログファイルを確認してください。

  2. atop のディスク領域使用量を削減するにはどうすればよいですか?

    設定ファイルを変更し、atop サービスを再起動します。

    1. ログ保持期間を短縮する:設定ファイル内の LOGGENERATIONS の値を下げます。例えば、28 から 14 に変更します。

    2. 収集頻度を減らす:設定ファイル内の LOGINTERVAL の値を増やします。例えば、600 から 1200 に変更します。

  3. atop のインタラクティブモードで n キーを押しても、プロセスごとのネットワークトラフィックが表示されないのはなぜですか?

    atop は、デフォルトではプロセスごとのネットワークトラフィックを追跡しません。これを有効にするには、netatop カーネルモジュールをインストールしてロードします。

    1. カーネル開発パッケージとコンパイルツールをインストールします。

      sudo yum install -y kernel-devel dkms elfutils-libelf-devel
    2. netatop ソースコードをダウンロードします。

      cd /usr/src/ && sudo wget https://www.atoptool.nl/download/netatop-3.2.2.tar.gz
    3. ソースコードを展開し、ディレクトリに移動します。

      sudo tar -zxvf netatop-3.2.2.tar.gz && cd netatop-3.2.2
    4. モジュールをビルドしてインストールします。

      sudo make && sudo make install
    5. netatop サービスを起動します。

      sudo systemctl start netatop
    6. netatop がインストールされていることを確認します。

      atop を実行して n を押します。プロセスリストに NET 列が表示されれば成功です。

      image