Bashプログラミング
 Computer >> コンピューター >  >> プログラミング >> Bashプログラミング

上にインストール:リアルタイムのシステム パフォーマンス監視が簡単に

は、すでに終了したプロセスを含むすべてのシステム プロセスに関する詳細なレポートを提供する全画面パフォーマンス監視ツールです。これは、システム アクティビティを定期的に継続的に記録し、後で使用できるようにその情報を保存することによって行われます。

これらのログは、システム分析、パフォーマンス調整、ボトルネックの特定、問題のデバッグ、予期せぬ過負荷の原因の追跡など、さまざまな目的に使用できます。

ライブ システム データのみを表示する top や htop などの従来のツールとは異なり、トップ これにより、過去を振り返って、ログに記録された間隔中に何が起こっていたのかを正確に検査できるため、システム管理者にとってサーバーのスムーズな実行を維持する上で特に価値があります。

この記事ではその上について説明します。 オファー、一般的な Linux ディストリビューションにインストールする方法、システムのパフォーマンス履歴を監視および分析するために効果的に使用する方法について説明します。

Atop とは何ですか?

Linux 用の全画面システムおよびプロセス モニターであり、以下を含むシステム全体およびプロセスごとのアクティビティをレポートするように設計されています。

  • 実行中および完了したプロセスをすべて表示します。
  • プロセスごとの CPU、メモリ、ディスク、ネットワークの使用状況を監視します。
  • 後で分析できるように、すべてのアクティビティをバイナリ ファイルに記録します。
  • ゾンビプロセスと孤立したプロセスを検出する
  • スレッドレベルのリソース使用量を表示します。
  • ユーザーごとおよびプログラムごとのアクティビティを監視する
  • 最新のカーネルにおける CPU、メモリ、ディスクの圧力ストール (PSI) を表示します。
  • cgroup v2 のサポート。コンテナ化された環境に最適です。
  • プロセスごとのネットワーク統計のための Netatop とのオプションの統合

そしてその上にあるものは何ですか? 目立つ:このすべてのアクティビティを定期的に (デフォルトは 10 分ごと) ディスクに記録できます。その後、システム履歴の任意の部分を再生して、何が起こったのかを詳しく調べることができます。

これは、ランダムなクラッシュをデバッグしたり、リソースの不正使用を追跡したり、使用状況を長期にわたって監視したりする必要がある場合、特にヘッドレス サーバーや実稼働システムの場合に非常に役立ちます。

Linux での監視ツールの上へのインストール

は、ほとんどの Linux ディストリビューション リポジトリで利用できます。システムのパッケージ マネージャーを使用してインストールするか、最新バージョンのソースからコンパイルすることができます。

RHEL/CentOS/Fedora の場合

まず、監視ツールの上にインストールするために、RHEL ベースのディストリビューションで epel リポジトリを有効にする必要があります。

sudo dnf install epel-release

epel リポジトリを有効にしたら、yum パッケージ マネージャーを使用して、上に をインストールするだけです。 以下に示すようにパッケージ化します。

sudo dnf install atop

Debian/Ubuntu の場合

Debian ベースのディストリビューチンのにあります。 apt コマンドを使用してデフォルト リポジトリからインストールできます。

sudo apt-get install atop

Arch Linux / Manjaro について

Arch のようなローリング リリース ディストリビューションを使用している場合 またはその派生版をにインストールします。 コマンド 1 つで完了します:

sudo pacman -S atop

ソースから上にインストールする (オプション)

最新バージョンが必要な場合 (たとえば、リポジトリのバージョンが古い場合や最先端の機能が必要な場合)、その上にビルドできます。 ソースから。

wget https://www.atoptool.nl/download/atop-2.12.0.tar.gz
tar -xzf atop-2.12.0.tar.gz
cd atop-2.12.0
make
sudo make install

注意 :build-essential などの開発ツールのインストールが必要になる場合があります。 (Debian) または gcc作る など、ディストリビューションに応じて異なります。

一度頂上に がインストールされている場合は、起動時にパフォーマンス データの収集を自動的に開始できるように、バックグラウンド ロギング サービスを有効にする必要があります。

sudo systemctl enable --now atop
sudo systemctl enable --now atop-rotate.timer

Linux で atop を始める

にインストールしたら ロギング サービスを有効にして、端末で起動します。

atop

すると、上部のような動的で色分けされたインターフェースが表示され、デフォルトでは 10 秒ごとに更新されます。

上にインストール:リアルタイムのシステム パフォーマンス監視が簡単に 監視システムの上

ログ間隔のカスタマイズ (デフォルト:600 秒)

デフォルトではにあります。 システムアクティビティを600ごとにログに記録します 一般的なモニタリングには十分な秒数 (つまり 10 分) ですが、特にリソース使用量の一時的な急増を追跡したり、パフォーマンスのボトルネックをデバッグしたりする場合には、効果的なトラブルシューティングを行うには頻度が低すぎることがよくあります。

sudo sed -i 's/600/60/' /etc/atop/atop.daily [Under RedHat based systems]
sudo sed -i 's/600/60/' /etc/default/atop [Under Debian based systems]

この変更を行った後、に は、毎分ログの収集を開始し、時間の経過に伴うシステムの動作をより明確に把握できるようになります。これは、断続的な問題の診断、傾向の分析、または高負荷時のサーバーの監視に特に役立ちます。

スケジュール情報の表示 (s キー)

カーネルがどのようにプロセスをスケジュールしているかを知るには、s を押します。 キーを押すと、それぞれが消費している CPU 時間と、「実行中」になっている時間が表示されます。 ” 状態。

atop -s

メモリ使用量の分析 (m キー)

m を押すと キーを使用すると、実行中のすべてのプロセスのメモリ使用量を包括的に把握できます。 VSIZE 列は割り当てられた仮想メモリの合計を示します。一方、RSIZE は、現在 RAM に常駐しているメモリの部分を示します。

さらに、VGROWRGROW 現在の間隔中にプロセスが獲得または喪失した仮想メモリおよび常駐メモリの量を表示します。 MEM 列は、各プロセスによって使用されるメモリの全体的な割合を示します。

atop -m

ディスク使用率の監視 (d キー)

ディスク I/O は多くのシステムでその上に共通のボトルネックとなっています。 d を使用すると監視が簡単になります。 キー。論理ボリューム管理 (LVM) 統計やディスクごとのパフォーマンスなど、システム レベルでのディスク アクティビティを示します。

RDDSKWRDSK 列は読み書きされるデータ量 (KB/秒) を示し、DSK は と LVM 列は、最もアクティブなボリュームまたはディスクを特定するのに役立ちます。

atop -d

詳細なプロセス情報を表示 (v キー)

v キーを使用すると、各プロセスの詳細な内訳が可能になり、UID などの値が表示されます。 、PIDGID 、CPU 使用率。これは、特定のユーザーやサービスを数値識別子で追跡したり、リソースを大量に消費する特定のプロセスを所有しているグループを確認したりする必要がある場合に特に便利です。

atop -v

処理コマンドの表示 (c キー)

各プロセスでどのコマンドが実行されたかを正確に確認する必要がある場合は、c を押します。 キーを使用すると、プロセス名が完全なコマンド ラインに置き換えられ、どのスクリプト、バイナリ、またはフラグが使用されたかを正確に特定できるようになります。これは、同じアプリケーションの複数のインスタンスを区別したり、ユーザーが送信したジョブをデバッグしたりするのに役立ちます。

atop -c

プログラムごとにプロセスをグループ化 (p キー)

プログラムレベルのアクティビティの概要を取得するには、p を使用します。 キー。実行可能プログラムごとにデータを集計し、それぞれが生成された回数と累積されたリソース使用量を示します。左端の列はスポーン数を示し、右端の列は実際のプログラム名をリストします。

atop -p

ユーザーごとにプロセスをグループ化する (u キー)

ユーザーレベルのリソース使用量に興味がある場合は、u を押してください。 キー。各ユーザーが現在実行しているプロセス数、または監視間隔中に実行したプロセス数、および累積 CPU およびメモリ使用量を示します。

atop -u

ネットワーク使用状況の監視 (n キー)

プロセスごとのネットワーク トラフィック統計を有効にするには、Netatop をインストールしてアクティブ化する必要があります。 カーネル モジュール。これにより、プロセスごとに送受信されたトラフィックを表示する atop の機能が強化されます。

# RedHat-based:
sudo yum install kernel-devel zlib-devel
# Debian-based:
sudo apt-get install zlib1g-dev

ダウンロードしてビルドします:

wget http://www.atoptool.nl/download/netatop-0.3.tar.gz
tar -xvf netatop-0.3.tar.gz
cd netatop-0.3
make
sudo make install

モジュールをロードし、起動後にデーモンを自動的に起動するには:

sudo systemctl start netatop
sudo systemctl enable netatop

インストールしたら、n を押します。 上部の内側には、各プロセスの送受信バイト数、パケット数、ネットワーク関連のエラーが表示されます。

atop -n

履歴ログへのアクセス

Atop はバイナリ ログ ファイルを次の場所に保存します。

/var/log/atop/atop_YYYYMMDD

たとえば、atop_20250630 のようなファイル 2025 年 6 月 30 日のログが含まれています。これはバイナリ ファイルであり、 人間が判読できるものではありません。その上にのみ含まれています。

今日のログから特定の時間枠を表示するには、たとえば午前 5 時 05 分から開始するとします。

atop -r -b 05:05 -l 1

ここ:

  • -r Atop にログ ファイルから読み取るように指示します。
  • -b 開始時刻を指定します。
  • -l 1 出力を 1 つの間隔スナップショットのみに制限します。

スペースバーを使用してインターバルと T を進めます。 戻るために。 Z 最新のエントリにジャンプします。

頂上の内部で助けを得る

頂上にいる間 インターフェイス、? を押します をクリックすると、コマンドとショートカットの完全なリストが表示されます。これは、わかりにくいオプションを見つけたり、表示を好みに合わせて調整したりするときに便利です。

結論

私の記事が役に立ち、Linux システムの問題を絞り込んだり、問題を防止したりするのに役立つことを願っています。ご質問がある場合、または atop の使用法について説明を受けたい場合は、 、以下のコメントセクションにコメントを投稿してください。


  1. Windows 10にBash(Linuxシェル)をインストールして使用する方法[チュートリアル]

    WindowsでLinuxシェルを設定して使用する方法は次のとおりです– Linux用Windowsサブシステムを使用します ( WSL 。 このチュートリアルは、2020年以降の最新バージョンのWindows10を対象としています。古いソフトウェアを使用するべきではないため、古いバージョンのWindows10でWSLを使用する方法やWindows8/7 / XP/3.1の他の方法については説明しません。 Windowsを使用する必要がある場合は、セキュリティパッチをまだ受けているバージョンを使用してください! WSL は優れたツールであり、Linuxを離れたことがないかのよ

  2. ターミナルからVimの複数のインスタンスにまたがるクリップボードの内容にアクセスする

    Vim (Viの改善 )は、プログラマーの間で最も人気のあるテキストエディタの1つです。速記コマンドでさまざまな操作を実行する独自の専門分野があります。 たとえば、強調表示されたテキストをコピーするには、「 y」を使用します ‘コマンドと‘ x ‘同じようにカットします。ただし、デフォルトでは vim ( gVimではありません )vimインスタンスを閉じた後はクリップボードの内容にアクセスできません。 Vimは「+」を使用します ‘システムクリップボードを参照するために登録します。 「vim–version」を実行できます ‘および「 + xterm_clipboard」のよ