Linuxでsarコマンドを使用する方法

公開: 2022-06-16
ノートパソコンの画面上のLinux端末。
fatmawati achmad zaenuri / Shutterstock.com

sarコマンドを使用すると、Linuxコンピューターのさまざまな要素のパフォーマンス統計を、リアルタイムデータと履歴データの両方で確認できます。 この優れたリソースの使用方法を紹介します。

関連: Chromebookでシステムパフォーマンスの統計を表示する方法

sarコマンド

sarコマンドまたはSystemActivityReporterは、 sysstatパッケージの一部です。 CPU負荷、メモリページング、メモリ使用率、スワップ使用量、ネットワークI/Oなどの一連の統計情報をキャプチャします。 これにより、このデータにリアルタイムのスナップショット(現在コンピューターで何が起こっているかを示す)および履歴レポートでアクセスできるようになります。

Linuxおよびその他のUnixライクなシステムでの平均負荷を理解する
関連Linuxおよびその他のUnixライクなシステムの平均負荷を理解する

デーモンとしてバックグラウンドで実行され、10分ごとに一連のデータを収集します。 当日のデータはテキストファイルに書き込まれます。 真夜中が過ぎると、バイナリファイルに変換されます。 ファイルは毎月上書きされるため、ハードドライブの容量を徐々に使い果たしてしまうことはありません。

sarコマンドを使用すると、システムに問い合わせて統計を確認できます。 ただし、最初に、 sysstatパッケージをインストールする必要があります。

sysstatパッケージのインストール

sysstatのインストールは非常に簡単です。 Linuxシステムのパッケージマネージャーを使用してインストールし、 systemdを使用してバックグラウンドデーモンを有効にして起動します。

Ubuntuにsysstatをインストールするには、aptを使用します。

 sudo apt install sysstat 

Ubuntuにaptを使用してsysstatをインストールする

sysstatをFedoraにインストールするには、次のように入力します。

 sudo dnf install sysstat 

dnfを使用したsystatのFedoraへのインストール

そして、Manjaroにsysstatをインストールするには、pacmanを使用します。

 sudo pacman -S sysstat 

Manjaroにpacmanを使用してsystatをインストールする

広告

sysstatをインストールしたら、コンピューターを起動するたびにデーモン(バックグラウンドプロセス)として実行できるように有効にする必要があります。すぐに使用できるように、今すぐ起動する必要があります。 systemdファミリーのユーティリティの一部であるsystemctlを使用して、デーモンを有効にして起動します。

 sudo systemctl enable sysstat 

sysstatデーモンの有効化

 sudo systemctl start sysstat 

sysstatデーモンの開始

使用しているsarのバージョンを確認し、応答していることを確認するには、 -V (バージョン)オプションを使用できます。

 sar -V 

sarのバージョンを確認しています

sarを使用したリアルタイム統計

sarを使用して、現在コンピューター内で何が起こっているかを確認できます。 また、スナップショットはまさにそれであり、特定の時点での再生の状態であり、トレンドの方が便利な場合もあるため、指定した秒数で複数のスナップショットを表示するようにsarに依頼できます。

CPU統計

2秒間隔で3セットのCPU統計を表示するには、 -u (CPU)オプションを使用するこのコマンドを使用します。 間隔が最初に来ることに注意してください。 したがって、このコマンドは「3セットのデータについて2秒単位でCPU統計を表示する」と読み取ります。

 sar -u 2 3 

3セットのCPU統計を表示

ターミナルウィンドウを伸ばすと、テーブルがきれいに並ぶので、読みやすくなります。

最初の列のヘッダーは、コマンドが実行された時刻です。 列の値は、データの各セットが収集された時刻です。 他の列は次のとおりです。

  • CPU :CPUコアの数、またはすべてのコアの平均の場合はALL
  • %User :「ユーザーランド」でユーザーレベルでアプリケーションを実行するために費やされた時間の割合。
  • %Nice :ユーザーレベルでアプリケーションを実行するために費やされた時間の割合。優先度は高くなります。
  • %system :カーネルでシステムレベルでプロセスを実行するために費やされた時間の割合。
  • %iowait :保留中のディスクI/O要求でCPUがアイドル状態だった時間の割合。
  • %steal :仮想マシンでは、これは、ハードウェアホストのCPUが別の仮想マシンにサービスを提供していたために仮想CPUがアイドル状態だった時間の割合です。
  • %idle :保留中のディスクI/O要求なしでCPUがアイドル状態だった時間の割合。
広告

最後の行は、前の行の平均です。

特定のコアの統計を表示するには、 -P (プロセッサごと)オプションを使用します。 この後に、CPUコアの番号、または0,1,4などのコア番号のリストまたは範囲が4-8ます。

このコマンドは、コア1について、1秒間隔で3セットのデータを調べます。コアにはゼロから番号が付けられていることに注意してください。

 sar -P 1 1 3 

シングルコアのCPU統計を表示する

メモリページング統計

-B (ページング)オプションを使用すると、 sarはハードドライブへのメモリのページングに関連する統計を表示します。 5秒間隔で2セットの情報を要求します。

 sar -B 5 2 

メモリページング統計の表示

列には次の情報が含まれています。

  • pgpgin / s :システムが1秒あたりにハードドライブからページイン(取得)した合計キロバイト数。
  • pgpgout / s :システムが1秒あたりにハードドライブにページアウトした合計キロバイト数。
  • fault / s :システムによって1秒あたりに発生したマイナーおよびメジャーの両方のページフォールトの数。
  • majflt / s :システムが1秒間に発生した、ディスクからのメモリページのロードを必要とする主要な障害の数。
  • pgfree / s :システムによって1秒あたりにフリーリストに配置されたページ数。
  • pgscank / s :メモリ管理システムkswapdデーモンによって1秒あたりにスキャンされたページ数。
  • pgscand / s :1秒あたりに直接スキャンされたページ数。
  • pgsteal / s :システムが1秒あたりにキャッシュから回収したページ数。
  • %vmeffpgsteal / pgscanとして計算されます。これは、ページの再利用の効率を示しています。

I/O転送速度

I / Oと転送速度の統計を表示するには、 -b (小文字の「b」)オプションを使用します。 4秒間隔で3セットのデータを要求しています。

 sar -b 4 3 

I/O転送統計の表示

これは、列が保持するものです。

  • tps :物理デバイスに対して行われた1秒あたりの転送要求の総数。 これはリクエストの数であることに注意してください。 すべてが成功したわけではないかもしれません。
  • rtps :物理デバイスに発行された1秒あたりの読み取り要求の総数。
  • wtps :物理デバイスに発行された1秒あたりの書き込み要求の総数。
  • dtps :物理デバイスに発行された1秒あたりの破棄要求の総数。
  • パン/秒:物理デバイスから読み取られたデータの合計量。 この数字は、1秒あたり512バイトのブロックで示されます。
  • bwrtn / s :物理デバイスに書き込まれたデータの合計量(ブロック/秒)。
  • bdscd / s :1秒あたりのブロック単位で破棄されたデータの合計量。

確認するために選択できる情報のカテゴリは他にもたくさんあります。 それらはすべて同じ方法で使用されます。 -A (すべて)オプションを使用して、 sarがスローできるすべての完全なダンプを確認することもできます。

完全なリストについては、sarmanページを確認してください。

関連:読み取り/書き込み速度とは何ですか、なぜそれらが重要なのですか?

sarを使用した履歴統計

履歴データのいずれかを確認するには、通常のsarコマンドのいずれかに-s (開始)および-e (終了)オプションの時間を追加するだけです。 時間は24時間制で表されます。

広告

今日の06:30から07:15までのCPU負荷を確認するには、このコマンドを使用します。

 sar -u -s 06:30:00 -e 07:15:00 

今日の初めの履歴データを表示する

前日の状況を確認するには、オプションフラグとして数字を使用します。 数字は、報告する日を示しています。 -1オプションは昨日を意味し、 -2オプションは2日前を意味します。

昨日のデータを使用して、13:00から13:00の間にレポートを生成しましょう。

 sar -u -1 -s 13:00:00 -e 13:30:00 

昨日の履歴情報を表示する

レポートする日を指定するもう1つの方法は、コマンドラインでその日のデータファイルの名前を使用することです。 これは、 -f (ファイル名)オプションを使用して行います。

日次ファイルは「saXX」と呼ばれ、XXは月の日に置き換えられます。 これらは、Linuxコンピューターのログフォルダーに作成されます。 sarログフォルダは、おそらく「/ var / log /sa/」または「/var/ log /sysstat/」と呼ばれます。

広告

Ubuntuでは「/var/ log / sysstat /」であるため、今月の21日の14:00から14:30までのCPU使用率を確認するコマンドの形式は次のようになります。

 sar -u -s 14:00:00 -e 14:30:00 -f / var / log / sysstat / sa21 

特定のデータファイルの履歴データを表示する

情報は力です

そして、 sarは確かに、コンピューターのパフォーマンスについて十分な情報に基づいた決定を下すのに十分な情報を提供します。

あなたがサポートの役割を果たしている場合、またはあなたが友人や家族の技術サポートである場合、履歴データを確認できることは、今日報告されているが実際には昨日起こった問題を掘り下げるための優れた方法です。 または先週。

関連:システムが遅い? Linuxがメモリ、CPU、またはIOバウンドであるかどうかを確認する方法