GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでリソースを監視するためにsarを使用する

この記事では、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 ALLsar -uと同じ コマンドですが、追加のフィールドが表示されます。
  • sar -u ALL 1 3sar -u 1 3と同じ コマンドですが、追加のフィールドが表示されます。
  • sar -u -f /var/log/sa/sa10sa10からの月の10日のCPU使用率を表示します ファイル。

2。 CPUまたはコアごとにCPU使用率を表示する

次のコマンドを実行して、CPUまたはコアごとのCPU使用率を表示します。

sar -P ALL 1 1

-P ALL フラグは、個々のコアすべての統計を表示することを示します。

CPU内 次の出力例の列、012 、および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/sa10sa10からの月の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ネットワークトラフィックを表示します
  • SOCK6IP6EIP6ICMP6 、および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

Linux
  1. Linux –ラップトップで3台のモニターを使用する方法は?

  2. Linux – LinuxでのO_directの使用?

  3. Linux 上の Swift で C ライブラリを使用する

  1. LinuxでBusyBoxを使用する方法

  2. 2020年にLinuxを使用する5つの理由

  3. Linuxでcronを使用する方法

  1. LinuxでFINDを使用する方法

  2. LinuxでSuコマンドを使用する方法

  3. auditd を使用して Linux でファイルの削除を監視する方法