はじめに
このドキュメントは、Simple Network Management Protocol(SNMP; 簡易ネットワーク管理プロトコル)を使用して、Cisco IOS® デバイス上の CPU 使用率に関する情報を収集する方法について説明します。
前提条件
要件
このドキュメントに関する固有の要件はありません。
使用するコンポーネント
このドキュメントの情報は、Cisco IOS ソフトウェアを実行するデバイスにのみ適用できます。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
表記法
表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。
単一の CPU が搭載されたデバイスでの手順
ルーティング プロトコル処理やパケット交換の処理など、ルータの重要な機能はメモリ上で処理されており、CPU を共有します。したがって CPU 使用率が非常に高い場合は、ルーティングの更新を処理できない、またはプロセススイッチング パケットがドロップされる可能性があります。CISCO-PROCESS-MIB から報告される cpmCPUTotal5minRev MIB オブジェクトの値は、プロセッサの使用率を 5 分間の平均値で表したものです。
MIBオブジェクトcpmCPUTotal5minRevは、一定の時間をかけてルータのパフォーマンスを監視できるため、cpmCPUTotal1minRevやcpmCPUTotal5secRevよりも精度の高い情報を提供します。これらの MIB オブジェクトは、それぞれ 1 分間隔と 5 秒間隔で CPU の監視を行うので、精度は高くありません。それらの MIB は、ネットワークの傾向モニタリングと容量計画には役立ちます。cpmCPUTotal5minRevに対する推奨ベースラインの上昇しきい値は90 %です。プラットフォームによっては、90 %で動作する一部のルータは、正常に動作するハイエンドルータに比べてパフォーマンスが低下する可能性があります。
-
cpmCPUTotal5secRev (.1.3.6.1.4.1.9.9.109.1.1.1.1.6):最後の5秒間の全体的なCPUビジー率。これは、廃止されたオブジェクト cpmCPUTotal5sec に代わる新しいオブジェクトで、値の範囲が 0 ~ 100 に拡大されています。
-
cpmCPUTotal1minRev (.1.3.6.1.4.1.9.9.109.1.1.1.1.7):最後の1分間の全体的なCPUビジー率。これは、廃止されたオブジェクト cpmCPUTotal1min に代わる新しいオブジェクトで、値の範囲が 0 ~ 100 に拡大されています。
-
cpmCPUTotal5minRev (.1.3.6.1.4.1.9.9.109.1.1.1.1.8):最後の5分間の全体的なCPUビジー率。これは、廃止されたオブジェクト cpmCPUTotal5min に代わる新しいオブジェクトで、値の範囲が 0 ~ 100 に拡大されています。
次の表では、新しい MIB およびそのオブジェクトを、差し替えられる前の古い MIB およびそのオブジェクトと並べて示します。
例
Cisco IOS ソフトウェア バージョン 12.0(9) を実行しているルータに対して、show processes CPU コマンドを実行した場合の一般的な出力を次に示します。
Router#show processes CPU
CPU utilization for five seconds: 2%/1%; one minute: 1%; five minutes: 1%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
1 164 137902 1 0.00% 0.00% 0.00% 0 Load Meter
2 100 119 840 0.57% 0.11% 0.02% 2 Virtual Exec
3 468644 81652 5739 0.00% 0.04% 0.05% 0 Check heaps
4 0 1 0 0.00% 0.00% 0.00% 0 Pool Manager
5 0 2 0 0.00% 0.00% 0.00% 0 Timers
6 0 2 0 0.00% 0.00% 0.00% 0 Serial Background
7 0 1 0 0.00% 0.00% 0.00% 0 OIR Handler
8 0 1 0 0.00% 0.00% 0.00% 0 IPC Zone Manager
9 348 689225 0 0.00% 0.00% 0.00% 0 IPC Periodic Tim
10 0 1 0 0.00% 0.00% 0.00% 0 IPC Seat Manager
11 175300 332916 526 0.00% 0.02% 0.00% 0 ARP Input
12 3824 138903 27 0.00% 0.00% 0.00% 0 HC Counter Timer
13 0 2 0 0.00% 0.00% 0.00% 0 DDR Timers
14 0 1 0 0.00% 0.00% 0.00% 0 Entity MIB API
15 0 1 0 0.00% 0.00% 0.00% 0 SERIAL A'detect
16 0 1 0 0.00% 0.00% 0.00% 0 Microcode Loader
17 0 1 0 0.00% 0.00% 0.00% 0 IP Crashinfo Inp
--<snip>--
出力結果から、関連する情報を次に示します。
注:デバイスで動作している Cisco IOS ソフトウェアリリースを基に、適切な MIB オブジェクトを使用してください。
注:シスコの内部ツールおよび情報にアクセスできるのは、登録ユーザのみです。
-
最後の5秒間のCPU使用率[objectbusyPer (.1.3.6.1.4.1.9.2.1.56)でも使用可能]
%snmpwalk –v2c –c public 172.16.99.1 .1.3.6.1.4.1.9.2.1.56
!--- SNMP Query
enterprises.9.2.1.56.0 = 2
!--- Response
-
割り込みレベル(高速交換パケット)での 5 秒間の CPU 時間の割合。1 回目と 2 回目の差異を取ることにより、ルータがプロセス レベルで消費する 5 秒間の割合が取得できます。この例では、ルータは最後の 5 秒間にプロセス レベルで 1 % を使用しています(プロセス交換パケット - MIB 変数なし)。
-
最後の1分間のCPU使用率[オブジェクトavgBusy1(.1.3.6.1.4.1.9.2.1.57)からも入手可能]
%snmpwalk –v2c –c public 172.16.99.1 .1.3.6.1.4.1.9.2.1.57
!--- SNMP Query
enterprises.9.2.1.57.0 = 3
!--- Response
%snmpwalk –v2c –c public 172.16.99.1 .1.3.6.1.4.1.9.2.1.58
!--- SNMP Query
enterprises.9.2.1.58.0 = 1
!--- Response
CPU 使用変数、およびその他の SNMP 変数をポーリングすると、実際の CPU 使用率に影響が出ます。1 秒間隔でこの変数を継続的にポーリングしたところ、使用率 99 % が返されたという報告もあります。あまりにも頻繁にポーリングするのはやり過ぎですが、変数をポーリングする頻度を決定する際には、CPU への影響を考慮してください。
複数の CPU が搭載されたデバイスでの手順
Cisco IOSデバイスに複数のCPUが搭載されている場合、cpmCPUTotalIndexというインデックスが付けられたcpmCPUTotalTableというテーブルから、CISCO-PROCESS-MIBとそのオブジェクトcpmCPUTotal5minRevを使用します。このテーブルを使用すると、ルータ内のさまざまな物理エンティティ(さまざまなCPUチップ、一連のCPU、さまざまなモジュール/カード内のCPUなど)に対して、CISCO-PROCESS-MIBがCPUの統計情報を維持できるようになります。CPU が 1 つの場合には、pmCPUTotalTable のエントリは 1 つしかありません。
ルータ内部のさまざまな物理エンティティの情報は、RFC 2737 標準ベースの ENTITY-MIB の entPhysicalTable に保存されています。2つのテーブル( cpmCPUTotalTable とentPhysicalTable )間は簡単にリンクできます。cpmCPUTotalTable の各行にはcpmCPUTotalPhysicalIndex オブジェクトがあり、entPhysicalIndex (entPhysicalTableのインデックス)の値を保持し、これらのCPU統計情報が維持される物理エンティティに対応するentPhysicalTableのエントリをを指します。
つまり、CPU使用率に関する関連情報を取得するためには、Cisco IOSデバイスがCISCO-PROCESS-MIBとENTITY-MIBの両方をサポートする必要があるということです。ENTITY-MIBを使用する必要がない唯一のケースは、CPUが1つしかない場合です。
例
シャーシ内の複数のCPU(RSPと2つのVIP)の使用を監視します。同じことは、GSR ラインカードにも当てはまります。
-
シャーシ内のすべてのCPUに対する「最後の5分間の全体的なCPUビジー率」を取得するには、PollcpmCPUTotal5min(.1.3.6.1.4.1.9.9.109.1.1.1.1.5)を使用します。この出力は、デバイスに3つのCPUが搭載され、過去5分間の使用率が10 %、1 %、および2 %であることを示しています。
%snmpwalk –v2c –c public 172.16.0.1 .1.3.6.1.4.1.9.9.109.1.1.1.1.5
!--- SNMP Query
enterprises.9.9.109.1.1.1.1.5.1 = 10
enterprises.9.9.109.1.1.1.1.5.8 = 1
enterprises.9.9.109.1.1.1.1.5.9 = 2
!--- Response
注:デバイスで動作している Cisco IOS ソフトウェアリリースを基に、適切な MIB オブジェクトを使用してください。
-
これらの値が対応する物理エンティティを特定するために、cpmCPUTotalPhysicalIndex (.1.3.6.1.4.1.9.9.109.1.1.1.1.2) をポーリングします。インデックス 9、25、および 28 の 3 つの物理エンティティが表示されます。
%snmpwalk -v2c -c public 172.16.0.1 .1.3.6.1.4.1.9.9.109.1.1.1.1.2
!--- SNMP Query
enterprises.9.9.109.1.1.1.1.2.1 = 9
enterprises.9.9.109.1.1.1.1.2.8 = 25
enterprises.9.9.109.1.1.1.1.2.9 = 28
!--- Response
-
各物理エントリがどの特定のカードに関連付けられているかを特定するために、対応するentPhysicalName (.1.3.6.1.2.1.47.1.1.1.1.7)entryをポーリングします。ステップ2で得られた9、25、28というインデックスを最後の桁にそのまま使用します。出力結果によれば、RSP の使用率は 10 % であり、スロット 4 および 6 の VIP の使用率は、それぞれ 1 % と 2 % を示しています。
%snmpwalk -v2c -c public 172.16.0.1 .1.3.6.1.2.1.47.1.1.1.1.7.9
!--- SNMP Query
47.1.1.1.1.7.9 = "RSP at Slot 2"
!--- Response
%snmpwalk -v2c -c public 172.16.0.1 .1.3.6.1.2.1.47.1.1.1.1.7.25
!--- SNMP Query
47.1.1.1.1.7.25 = "Line Card 4"
!--- Reponse
%snmpwalk -v2c -c public 172.16.0.1 .1.3.6.1.2.1.47.1.1.1.1.7.28
!--- SNMP Query
47.1.1.1.1.7.28 = "Line Card 6"
!--- Response
関連情報