Linuxでsarコマンドを使用する方法
公開: 2022-06-16 sar
コマンドを使用すると、Linuxコンピューターのさまざまな要素のパフォーマンス統計を、リアルタイムデータと履歴データの両方で確認できます。 この優れたリソースの使用方法を紹介します。
関連: Chromebookでシステムパフォーマンスの統計を表示する方法
sarコマンド
sar
コマンドまたはSystemActivityReporterは、 sysstat
パッケージの一部です。 CPU負荷、メモリページング、メモリ使用率、スワップ使用量、ネットワークI/Oなどの一連の統計情報をキャプチャします。 これにより、このデータにリアルタイムのスナップショット(現在コンピューターで何が起こっているかを示す)および履歴レポートでアクセスできるようになります。
デーモンとしてバックグラウンドで実行され、10分ごとに一連のデータを収集します。 当日のデータはテキストファイルに書き込まれます。 真夜中が過ぎると、バイナリファイルに変換されます。 ファイルは毎月上書きされるため、ハードドライブの容量を徐々に使い果たしてしまうことはありません。
sar
コマンドを使用すると、システムに問い合わせて統計を確認できます。 ただし、最初に、 sysstat
パッケージをインストールする必要があります。
sysstatパッケージのインストール
sysstat
のインストールは非常に簡単です。 Linuxシステムのパッケージマネージャーを使用してインストールし、 systemd
を使用してバックグラウンドデーモンを有効にして起動します。
Ubuntuにsysstat
をインストールするには、aptを使用します。
sudo apt install sysstat
sysstat
をFedoraにインストールするには、次のように入力します。
sudo dnf install sysstat
そして、Manjaroにsysstatをインストールするには、pacmanを使用します。
sudo pacman -S sysstat
sysstat
をインストールしたら、コンピューターを起動するたびにデーモン(バックグラウンドプロセス)として実行できるように有効にする必要があります。すぐに使用できるように、今すぐ起動する必要があります。 systemd
ファミリーのユーティリティの一部であるsystemctl
を使用して、デーモンを有効にして起動します。
sudo systemctl enable sysstat
sudo systemctl start sysstat
使用しているsar
のバージョンを確認し、応答していることを確認するには、 -V
(バージョン)オプションを使用できます。
sar -V
sarを使用したリアルタイム統計
sar
を使用して、現在コンピューター内で何が起こっているかを確認できます。 また、スナップショットはまさにそれであり、特定の時点での再生の状態であり、トレンドの方が便利な場合もあるため、指定した秒数で複数のスナップショットを表示するようにsar
に依頼できます。
CPU統計
2秒間隔で3セットのCPU統計を表示するには、 -u
(CPU)オプションを使用するこのコマンドを使用します。 間隔が最初に来ることに注意してください。 したがって、このコマンドは「3セットのデータについて2秒単位でCPU統計を表示する」と読み取ります。
sar -u 2 3
ターミナルウィンドウを伸ばすと、テーブルがきれいに並ぶので、読みやすくなります。
最初の列のヘッダーは、コマンドが実行された時刻です。 列の値は、データの各セットが収集された時刻です。 他の列は次のとおりです。
- 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
メモリページング統計
-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秒あたりにキャッシュから回収したページ数。
- %vmeff :
pgsteal
/pgscan
として計算されます。これは、ページの再利用の効率を示しています。
I/O転送速度
I / Oと転送速度の統計を表示するには、 -b
(小文字の「b」)オプションを使用します。 4秒間隔で3セットのデータを要求しています。
sar -b 4 3
これは、列が保持するものです。
- 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バウンドであるかどうかを確認する方法