この記事では、System Activity Report(sar)コマンドを使用してLinux®のリソースを監視する10の方法を紹介します。
1。すべてのCPUの総使用量を表示する
次のコマンドを実行して、CPU使用率の概要を表示します。
sar -u
このコマンドは、すべてのCPUの累積的なリアルタイムのリソース使用量を出力します。
このコマンドにさらにパラメーターを追加できます。たとえば、1 3
を追加します 次の例に示すように、コマンドの最後に1秒ごとに合計3回レポートします。
sar -u 1 3
出力は次の例のようになります:
Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU)
01:27:32 PM CPU %user %nice %system %iowait %steal %idle
01:27:33 PM all 0.00 0.00 0.00 0.00 0.00 100.00
01:27:34 PM all 0.25 0.00 0.25 0.00 0.00 99.50
01:27:35 PM all 0.75 0.00 0.25 0.00 0.00 99.00
Average: all 0.33 0.00 0.17 0.00 0.00 99.50
最後のフィールド、%idle
、CPU負荷を示します。
このコマンドには次のバリエーションがあります。
-
sar -u
:当日のCPU使用率を表示します。 -
sar -u 1 3
:1秒ごとに3回リアルタイムのCPU使用率を表示します。 -
sar -u ALL
:sar -u
と同じ コマンドですが、追加のフィールドが表示されます。 -
sar -u ALL 1 3
:sar -u 1 3
と同じ コマンドですが、追加のフィールドが表示されます。 -
sar -u -f /var/log/sa/sa10
:sa10
からの月の10日のCPU使用率を表示します ファイル。
2。 CPUまたはコアごとにCPU使用率を表示する
次のコマンドを実行して、CPUまたはコアごとのCPU使用率を表示します。
sar -P ALL 1 1
-P ALL
フラグは、個々のコアすべての統計を表示することを示します。
CPU
内 次の出力例の列、0
、1
、2
、および3
CPUコア番号は次のとおりです:
Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU)
01:34:12 PM CPU %user %nice %system %iowait %steal %idle
01:34:13 PM all 11.69 0.00 4.71 0.69 0.00 82.90
01:34:13 PM 0 35.00 0.00 6.00 0.00 0.00 59.00
01:34:13 PM 1 22.00 0.00 5.00 0.00 0.00 73.00
01:34:13 PM 2 3.00 0.00 1.00 0.00 0.00 96.00
01:34:13 PM 3 0.00 0.00 0.00 0.00 0.00 100.00
2番目のコアのみの統計を表示する場合は、-P 1
を使用します 次の例に示すように、フラグ(コア番号は0から始まるため):
sar -P 1 1 1
出力は次の例のようになります。
Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU)
01:36:25 PM CPU %user %nice %system %iowait %steal %idle
01:36:26 PM 1 8.08 0.00 2.02 1.01 0.00 88.89
次のバリエーションも役立つ場合があります。
-
sar -P ALL
:当日の各コアのCPU使用率を表示します。 -
sar -P ALL 1 3
:各コアのリアルタイムCPU使用率を1秒ごとに3回表示します。 -
sar -P 1
:当日のコア番号1のCPU使用率を表示します。 -
sar -P 1 1 3
:コア番号1のリアルタイムCPU使用率を1秒ごとに3回表示します。 -
sar -P ALL -f /var/log/sa/sa10
:sa10
からの月の10日の各コアのCPU使用率を表示します ファイル。
3。空きメモリと使用済みメモリを表示する
次のコマンドを実行して、空きメモリと使用済みメモリを表示します。
sar -r
1 3
を追加した場合 次の例に示すように、コマンドに対して、出力は1秒ごとに合計3回レポートします。
sar -r 1 3
出力は次の例のようになります。ここでは、kbmemfree
は空きメモリであり、kbmemused
使用されるメモリ:
Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU)
07:28:06 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact
07:28:07 AM 6209248 2097432 25.25 189024 1796544 141372 0.85 1921060 88204
07:28:08 AM 6209248 2097432 25.25 189024 1796544 141372 0.85 1921060 88204
07:28:09 AM 6209248 2097432 25.25 189024 1796544 141372 0.85 1921060 88204
Average: 6209248 2097432 25.25 189024 1796544 141372 0.85 1921060 88204
このコマンドには次のバリエーションがあります。
-
sar -r
-
sar -r 1 3
-
sar -r -f /var/log/sa/sa10
4。スワップスペースの使用を表示する
次のコマンドを実行して、使用中のスワップスペースの量を表示します。
sar -S
1 3
を追加した場合 次の例に示すように、コマンドの最後まで、出力は1秒ごとに合計3回レポートします。
sar -S 1 3
出力は次の例のようになります:
Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU)
07:31:06 AM kbswpfree kbswpused %swpused kbswpcad %swpcad
07:31:07 AM 8385920 0 0.00 0 0.00
07:31:08 AM 8385920 0 0.00 0 0.00
07:31:09 AM 8385920 0 0.00 0 0.00
Average: 8385920 0 0.00 0 0.00
注 :kbswpused
の場合 および%swpused
0
にあります 、システムはスワッピングしていません。
このコマンドには次のバリエーションがあります。
-
sar -S
-
sar -S 1 3
-
sar -S -f /var/log/sa/sa10
次のスワップスペースコマンドも役立つ場合があります。
-
sar -R
を使用します システムが解放、使用、およびキャッシュしたメモリページの数を特定するため。 -
sar -H
を使用します 使用中および使用可能なLinux®HugePages(キロバイト(KB)単位)を特定するため。 -
sar -B
を使用します 1秒あたりにディスクからページイン(およびページアウト)されたKB数などのページング統計を生成します。 -
sar -W
を使用します 1秒あたりのページスワップイン(およびアウト)などのページスワップ統計を生成します。
5。 I/Oアクティビティを表示する
次のコマンドを実行して、全体的な入出力(I / O)アクティビティを表示します。
sar -b
このコマンドの出力には、I/O統計が表示されます。 1 3
を追加した場合 次の例に示すように、コマンドの最後まで、出力は1秒ごとに合計3回レポートします。
sar -b 1 3
出力は次の例のようになります。
Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU)
01:56:28 PM tps rtps wtps bread/s bwrtn/s
01:56:29 PM 346.00 264.00 82.00 2208.00 768.00
01:56:30 PM 100.00 36.00 64.00 304.00 816.00
01:56:31 PM 282.83 32.32 250.51 258.59 2537.37
Average: 242.81 111.04 131.77 925.75 1369.90
出力には次のフィールドが含まれます:
-
tps
:1秒あたりのトランザクション数(読み取りと書き込みの両方) -
rtps
:1秒あたりのトランザクションの読み取り -
wtps
:1秒あたりのトランザクションの書き込み bread/s
:1秒あたりの読み取りバイト数-
bwrtn/s
:1秒あたりに書き込まれるバイト数
このコマンドには次のバリエーションがあります。
-
sar -b
-
sar -b 1 3
-
sar -b -f /var/log/sa/sa10
注 :sar -v
を使用します システムが使用しているiノードハンドラー、ファイルハンドラー、および疑似端末の数を表示します。
6。個々のブロックデバイスのI/Oアクティビティを表示します
次のコマンドを実行して、個々のブロックデバイスのI/Oアクティビティを表示します。
sar -d
個々のブロックデバイス(特定のマウントポイント、論理ユニット番号(LUN)、パーティションなど)ごとにアクティビティを識別するには、sar -d
を使用します。 、次の例に示すように:
sar -d 1 1
出力は次の例のようになります。
Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU)
01:59:45 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
01:59:46 PM dev8-0 1.01 0.00 0.00 0.00 0.00 4.00 1.00 0.10
01:59:46 PM dev8-1 1.01 0.00 0.00 0.00 0.00 4.00 1.00 0.10
01:59:46 PM dev120-64 3.03 64.65 0.00 21.33 0.03 9.33 5.33 1.62
01:59:46 PM dev120-65 3.03 64.65 0.00 21.33 0.03 9.33 5.33 1.62
01:59:46 PM dev120-0 8.08 0.00 105.05 13.00 0.00 0.38 0.38 0.30
01:59:46 PM dev120-1 8.08 0.00 105.05 13.00 0.00 0.38 0.38 0.30
01:59:46 PM dev120-96 1.01 8.08 0.00 8.00 0.01 9.00 9.00 0.91
01:59:46 PM dev120-97 1.01 8.08 0.00 8.00 0.01 9.00 9.00 0.91
この例では、DEV
の値 列は特定のブロックデバイスを表します。例:dev53-1
メジャー番号が53、マイナー番号が1のブロックデバイスを意味します。
きれいなプリントを使用できます(-p
)次の例に示すようにフラグを立てて、列に実際のデバイス名(sda、sda1、sdb1など)を表示させます。
sar -p -d 1 1
出力は次の例のようになります。
Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU)
01:59:45 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
01:59:46 PM sda 1.01 0.00 0.00 0.00 0.00 4.00 1.00 0.10
01:59:46 PM sda1 1.01 0.00 0.00 0.00 0.00 4.00 1.00 0.10
01:59:46 PM sdb1 3.03 64.65 0.00 21.33 0.03 9.33 5.33 1.62
01:59:46 PM sdc1 3.03 64.65 0.00 21.33 0.03 9.33 5.33 1.62
01:59:46 PM sde1 8.08 0.00 105.05 13.00 0.00 0.38 0.38 0.30
01:59:46 PM sdf1 8.08 0.00 105.05 13.00 0.00 0.38 0.38 0.30
01:59:46 PM sda2 1.01 8.08 0.00 8.00 0.01 9.00 9.00 0.91
01:59:46 PM sdb2 1.01 8.08 0.00 8.00 0.01 9.00 9.00 0.91
このコマンドには次のバリエーションがあります。
-
sar -d
-
sar -d 1 3
-
sar -d -f /var/log/sa/sa10
-
sar -p -d
7。 1秒あたりのコンテキストスイッチを表示する
次のコマンドを実行して、1秒あたりのコンテキストスイッチを表示します。
sar -w
このコマンドは、1秒あたりに作成されたプロセスの総数と1秒あたりのコンテキストスイッチの総数を報告します。 1 3
を追加した場合 次の例に示すように、コマンドの最後まで、1秒ごとに合計3回レポートします。
sar -w 1 3
出力は次の例のようになります:
Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU)
08:32:24 AM proc/s cswch/s
08:32:25 AM 3.00 53.00
08:32:26 AM 4.00 61.39
08:32:27 AM 2.00 57.00
このコマンドには次のバリエーションがあります。
-
sar -w
-
sar -w 1 3
-
sar -w -f /var/log/sa/sa10
8。実行キューと負荷平均を表示する
次のコマンドを実行して、実行キューと負荷平均を表示します。
sar -q
このコマンドは、過去1分間、過去5分間、および過去15分間の実行キューのサイズと負荷の平均を報告します。 1 3
を追加した場合 次の例に示すように、コマンドの最後まで、1秒ごとに合計3回レポートします。
sar -q 1 3
出力は次の例のようになります。
Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU)
06:28:53 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
06:28:54 AM 0 230 2.00 3.00 5.00 0
06:28:55 AM 2 210 2.01 3.15 5.15 0
06:28:56 AM 2 230 2.12 3.12 5.12 0
Average: 3 230 3.12 3.12 5.12 0
注 :blocked
列には、現在ブロックされており、I/O操作の完了を待機しているタスクの数が表示されます。
このコマンドには次のバリエーションがあります。
-
sar -q
-
sar -q 1 3
-
sar -q -f /var/log/sa/sa10
9。ネットワーク統計を表示する
次のコマンドを実行して、ネットワーク統計を表示します。
sar -n
このコマンドは、ネットワークカードを介して受信(送信)されたパケットの数や発生したパケット障害の数など、さまざまなネットワーク統計を報告します。 1 3
を追加した場合 コマンドの最後まで、1秒ごとに合計3回報告します。
次の例に示すように、コマンドにキーワードを追加することもできます。
sar -n KEYWORD
KEYWORD
次のいずれかのオプションにすることができます:
-
DEV
:ネットワークデバイスの人口動態統計を表示します -
EDEV
:ネットワークデバイスの障害統計を表示する -
NFS
:ネットワークファイルシステム(NFS)クライアントのアクティビティを表示します -
NFSD
:NFSサーバーのアクティビティを表示します -
SOCK
:IPv4で使用されているソケットを表示します -
IP
:IPv4ネットワークトラフィックを表示します -
EIP
:IPv4ネットワークエラーを表示します -
ICMP
:ICMPv4ネットワークトラフィックを表示します -
EICMP
:ICMPv4ネットワークエラーを表示します -
TCP
:TCPv4ネットワークトラフィックを表示します -
ETCP
:TCPv4ネットワークエラーを表示します -
UDP
:UDPv4ネットワークトラフィックを表示します -
SOCK6
、IP6
、EIP6
、ICMP6
、およびUDP6
:IPv6ネットワーク情報を表示します ALL
:上記のすべての情報を表示します
次の例では、DEV
を使用しています キーワード:
sar -n DEV 1 1
出力は次の例のようになります。
Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU)
01:11:13 PM IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
01:11:14 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
01:11:14 PM eth0 342.57 342.57 93923.76 141773.27 0.00 0.00 0.00
01:11:14 PM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10。開始時間ごとにsarデータを報告する
次のコマンドを実行して、開始時刻ごとにsarデータを報告します。
sar -s
/var/log/sa/saXX
から履歴sarデータを表示する場合 sar -f
を使用してファイルを作成する オプションの場合、出力には、午前12時から始まるその特定の日のすべてのsarデータが表示されます。
-s hh:mi:ss
を使用できます 開始時刻を指定するオプション。たとえば、sar -s 10:00:00
を指定した場合 、コマンドからの出力には、午前10時から始まるsardataが表示されます(デフォルトの深夜ではありません)。
-s
を組み合わせることができます 他のsarフラグと一緒にフラグを立てます。たとえば、午前10時から始まる今月の26日の平均負荷を報告するには、-q
を組み合わせます。 および-s
次の例に示すフラグ:
sar -q -f /var/log/sa/sa23 -s 10:00:01
出力は次の例のようになります。
Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU)
10:00:01 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
10:10:01 AM 0 127 2.00 3.00 5.00 0
10:20:01 AM 0 127 2.00 3.00 5.00 0
...
11:20:01 AM 0 127 5.00 3.00 3.00 0
12:00:01 PM 0 127 4.00 2.00 1.00 0
終了時刻は指定できません。代わりに、head
を使用する必要があります 指図。たとえば、午前10時から開始して、7つのエントリを表示する場合は、前の出力をhead -n 10
にパイプします。 、次の例に示すように:
sar -q -f /var/log/sa/sa23 -s 10:00:01 | head -n 10
出力は次の例のようになります。
Linux 2.6.18-194.el5PAE (dev-db) 03/26/2011 _i686_ (8 CPU)
10:00:01 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
10:10:01 AM 0 127 2.00 3.00 5.00 0
10:20:01 AM 0 127 2.00 3.00 5.00 0
10:30:01 AM 0 127 3.00 5.00 2.00 0
10:40:01 AM 0 127 4.00 2.00 1.00 2
10:50:01 AM 0 127 3.00 5.00 5.00 0
11:00:01 AM 0 127 2.00 1.00 6.00 0
11:10:01 AM 0 127 1.00 3.00 7.00 2