ホームページ >バックエンド開発 >PHPチュートリアル >Linux のパフォーマンスのテストと監視 sar コマンド_PHP チュートリアル
sar (System Activity Reporter システム アクティビティ レポート) は、現在、Linux 上で最も包括的なシステム パフォーマンス分析ツールの 1 つであり、次のようなさまざまな側面からシステム アクティビティをレポートできます。ステータス、システムコールの使用状況、ディスクI/O、CPU効率、メモリ使用量、プロセスアクティビティおよびIPC関連アクティビティなど。この記事では主に CentOS6.3 x64 システムを例として sar コマンドを紹介します。
sar コマンドの共通形式
sar [options] [-A] [-o file] t [n]
ここで:
t はサンプリング間隔、n はサンプル数、デフォルト値は 1 です。
-o file はコマンド結果をバイナリ形式でファイルに保存することを意味し、file はファイル名です。
オプションは、sarコマンドで一般的に使用されるオプションです:
-A: すべてのレポートの合計
-u: CPU使用率に関する統計情報を出力
-v: 出力inode 、ファイルおよびその他のコア テーブル統計
-d: 各ブロック デバイスのアクティビティ情報を出力
-r: メモリおよびスワップ領域の統計を出力
-b: I/O および転送速度の統計を表示
-a: ファイルの読み取りおよび書き込みステータス
-c: プロセス統計、1 秒あたりに作成されるプロセスの数を出力
-R: メモリ ページの統計情報を出力
-y: 端末デバイスのアクティビティ
-w: システム スワップ アクティビティ情報を出力
1. CPU リソースの監視
たとえば、10 秒ごとにサンプリングし、3 回連続してサンプリングし、CPU 使用率を観察し、サンプリング結果を現在のディレクトリのファイル test にバイナリ形式で保存します。次のコマンドを入力する必要があります。
sar -u -o test 10 3
画面は次のように表示されます:
17:06:16 CPU %user %nice %system %iowait %steal %idle
17:06:26 all 0.00 0.00 0.20 0.00 0.00 99.80
17:06:36 すべて 0.00 0.00 0.20 0.00 0.00 99.80
17:06:46 すべて 0.00 0.00 0.10 0.00 0.00 99.90
平均: すべて 0 .00 0.00 0. 17 0.00 0.00 99.83
出力項目の説明:
CPU: all すべての CPU の平均として統計を表します。
%user: ユーザー レベル (アプリケーション) での実行によって使用される合計 CPU 時間の割合を表示します。
%nice: 占有された合計 CPU 時間の割合としてユーザー レベルで表示され、nice 操作に使用されます。
%system: カーネル レベルでの実行によって使用される合計 CPU 時間の割合。
%iowait: I/O 操作の待機に費やされた合計 CPU 時間の割合を表示します。
%steal: ハイパーバイザーが別の仮想プロセスにサービスを提供するのを待機している仮想 CPU の割合。
%idle: 合計 CPU 時間に占める CPU アイドル時間の割合を表示します。
1. %iowait の値が高すぎる場合は、ハードディスクに I/O ボトルネックがあることを意味します。
2. %idle の値が高いにもかかわらず、システムの応答が遅い場合は、その可能性があります。この場合、CPU がメモリの割り当てを待機しているため、メモリ容量を増やす必要があります。
3. %idle の値が 1 より低い状態が続く場合は、システムの CPU 処理能力が相対的に低いことを示します。システム内で最も重要なリソースは CPU です。
バイナリ ファイル テストの内容を表示したい場合は、次の sar コマンドを入力する必要があります:
sar -u -f test
2. Inode、ファイル、およびその他のカーネル テーブルの監視
たとえば、サンプリング10 秒ごと、連続サンプリング 3 回、コア テーブルのステータスを観察するには、次のコマンドを入力します:
sar -v 10 3
画面には次のように表示されます:
17:10:49 dentunusd file-nr inode -nr pty-nr
17:10: 59 6301 5664 12037 4
17:11:09 6301 5664 12037 4
17:11:19 6301 5664 12037 4
平均: 6301 5664 12037 4
出力の説明:
dentunusd: ディレクトリキャッシュが見つかりません 使用されたエントリの数
file-nr: 使用されたファイルハンドルの数
inode-nr: 使用された inode ハンドルの数
pty-nr: 使用された pty の数
3. メモリとスワップ領域の監視
たとえば、10 秒ごとにサンプリング、3 回連続でサンプリング、メモリ ページングを監視します:
sar -r 10 3
画面は次のように表示されます:
出力項目説明:
kbmemfree: この値は基本的に free コマンドの free 値と同じであるため、バッファーとキャッシュ領域は含まれません。
kbmemused: この値は基本的に free コマンドで使用される値と同じです。
% memused: この値は kbmemused とメモリの合計量 (スワップを除く) のパーセンテージです。
kbbuffers と kbcached: これら 2 つの値はバッファーとキャッシュです。 free コマンドのキャッシュ。
kbcommit: 現在のシステムに必要なメモリ、つまり、オーバーフローがないようにするために必要なメモリ (RAM+スワップ) を確認します。
%commit: この値は、kbcommit と合計の割合です。
4. メモリ ページングの監視
たとえば、10 秒ごとに 1 回サンプリングし、3 回連続してメモリ ページングを監視します:
sar -B 10 3
画面は次のように表示されます。
出力項目の説明:
pgpgin/s: 1秒ごとにディスクまたはSWAPからメモリへの置き換えを示します バイト数(KB)
pgpgout/s: 1 秒あたりにメモリからディスクまたは SWAP に置き換えられたバイト数 (KB) を示します。
fault/s: 1 秒あたりにシステムによって生成されたページ フォールトの数、つまり、メジャー ページ フォールトとメジャー ページ フォールトの合計マイナー ページ フォールト (メジャー + マイナー)
majflt/s: 1 秒あたりに生成された主な欠落ページの数
pgfree/s: 1 秒あたりのアイドル キューに置かれたページの数
pgscank/s: スキャンされたページ。 by kswapd/秒 数値
pgscand/s: 1 秒あたりに直接スキャンされたページ数
pgsteal/s: メモリ要件を満たすために 1 秒あたりにキャッシュからクリアされたページ数
%vmeff: 1 秒あたりクリアされたページ数 ( pgsteal ) スキャンされたページの合計 (pgscank+pgscand) の割合として
5. I/O と転送速度の監視
たとえば、10 秒ごとにサンプリングし、連続 3 回サンプリングして、バッファーの使用状況をレポートするには、以下が必要です。次のコマンドを入力します:
sar -b 10 3
画面は次のように表示されます:
18:51:05 tps rtps wtps pan/s bwrtn/s
18:51:15 0.00 0.00 0.00 0.00 0.00
18:51:25 1 .92 0.00 1.92 0.00 22.65
18:51:35 0.00 0.00 0.00 0.00 0.00
平均: 0.64 0.00 0.64 0.00 7.59
出力項目の説明:
tps: すべての合計 I/O 転送1 秒あたりの物理デバイスの量
rtps: 1 秒あたりに物理デバイスから読み取られたデータの総量
wtps: 1 秒あたりに物理デバイスに書き込まれたデータの総量
bread/s: から読み取られたデータの量1 秒あたりの物理デバイス (ブロック単位) /s
bwrtn/s: 1 秒あたりの物理デバイスに書き込まれるデータ量 (ブロック/秒)
6. プロセスキューの長さと平均負荷ステータスの監視
たとえば、サンプリング10 秒ごと、連続サンプリング 3 回、プロセス キューの長さと平均負荷ステータスを監視します:
sar -q 10 3
画面には次のように表示されます:
19:25:50 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
19: 26:00 0 259 0.00 0.00 0.00
19:26:10 0 259 0.00 0.00 0.00
19:26:20 0 259 0.00 0.00 00
平均: 0 259 0.0 0 0.00 0.00
出力項目の説明:
runq -sz: 実行キューの長さ (実行を待機しているプロセスの数)
plist-sz: プロセスリスト内のプロセスとスレッドの数
ldavg-1:直前の 1 分間の平均システム負荷
ldavg-5: 過去 5 分間の平均システム負荷
ldavg-15: 過去 15 分間の平均システム負荷
7.
たとえば、10 秒ごとにサンプリングし、3 回連続サンプリングすると、監視システムはアクティビティ情報を交換します: sar -W 10 3 画面には次のように表示されます: 19:39:50 pswpin/s pswpout/s19:40:00 0.00 0.0019:40:10 0.00 0.0019:40:20 0.00 0.00平均: 0.00 0.00出力項目の説明: pswpin/ s: スワップされたスワップページの数システムによる 1 秒あたりのイン pswpout/s: 1 秒あたり システムによってスワップアウトされたスワップ ページの数 8. デバイス使用状況のモニタリング たとえば、デバイスの使用状況をレポートするために 10 秒ごとに 3 回連続してサンプリングするには、次のコマンドを入力します: # sar -d 10 3 –p画面には次のように表示されます:17:45:54DEVtpsrd_sec/swr_sec/savgrq-szavgqu-szaitsvctm%util17:46:04scd00.000.000。 000.000.000.000.000.00 17:46:04sda0. 000.000.000.000.000.000.000.0017:46:04vg_livedvd-lv_root0.000.000.000.000.000.0 00.000.0017:46:04vg_livedvd-lv_swap0.0 00.000。 000.000.000.000.000.00ここで:パラメータ -p パラメータ -p が使用されない場合、デバイス ノードは dev8-0、dev22-0 になる可能性があります
。
tps: 1 秒あたりの物理ディスクからの I/O 数。複数の論理リクエストが 1 つの I/O ディスク リクエストに結合されるため、転送のサイズは定義されません。rd_sec/s: 1 秒あたりの読み取りセクター数。
http://www.bkjia.com/PHPjc/1067483.html
www.bkjia.com
true