| ライター翻訳版 - April 25, 2005 |
| Document ID: 41100 |
| ダウンロード: PDF |
目次
概要
前提条件
要件
使用するコンポーネント
表記法
EXEC プロセスおよび仮想 EXEC プロセスとは
EXEC プロセスおよび仮想 EXEC プロセスによって CPU の使用率が高くなる仕組み
EXEC プロセスによって CPU の使用率が高くなる問題のトラブルシューティング
仮想 EXEC プロセスによって CPU の使用率が高くなる問題のトラブルシューティング
関連情報
概要
この文書では、EXEC プロセスおよび仮想 EXEC プロセスと、これらのプロセスによって CPU 使用率が高くなる問題のトラブルシューティング方法について説明します。
前提条件
要件
シスコでは、この文書をお読みになる前に、『Cisco ルータの CPU 使用率が高い場合のトラブルシューティング』をお読みいただくことを推奨します。
使用するコンポーネント
この文書は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
この文書で紹介する情報は、特定のラボ環境にあるデバイスを使用して作成されました。この文書内で使用されているデバイスはすべて、クリアな状態(デフォルト)から設定作業を始めています。実稼動中のネットワークで作業する場合は、コマンドの実行によって生じる影響について、事前に理解しておいてください。
表記法
文書表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
EXEC プロセスおよび仮想 EXEC プロセスとは
Cisco IOS(R) ソフトウェアの EXEC プロセスとは、ルータの tty 回線(コンソール、補助、非同期)での通信を担当するプロセスです。 また、仮想 Exec プロセスとは、vty 回線(telnet セッション)を担当するプロセスです。
Exec プロセスおよび仮想 Exec プロセスは、中程度の優先順位のプロセスであり、より優先順位の高いプロセス(高または重要)があれば、その優先順位の高いプロセスに CPU リソースが割り当てられます。
router#show process | i CPU|Exec CPU utilization for five seconds: 0%/0%; one minute: 0%; five minutes: 0% PID QTy PC Runtime (ms) Invoked uSecs Stacks TTY Process 22 M* 0 9644 1733 5564 9732/12000 0 Exec 46 ME 80468980 28 6 466610520/12000 66 Virtual Exec
このコマンドによる出力に関する詳細な説明については、『show processes コマンド』を参照してください。
EXEC プロセスおよび仮想 EXEC プロセスによって CPU の使用率が高くなる仕組み
このセッションで大量のデータが送受信されると、Exec プロセスによる CPU 使用率が高まります。
これらの回線では、ルータが単に 1 文字を送信する場合でも CPU リソースが使用されてしまうということが、この原因です。
-
コンソール(Exec)の場合、ルータでは 1 文字ごとに割り込み使用して転送が行われます。
コンソールの割り込みは、show stacks コマンドの出力で確認できます。
router#show stacks Minimum process stacks: Free/Size Name 11516/12000 Router Init 9404/12000 Init 5520/6000 AIM_MIB_CREATION 5448/6000 RADIUS INITCONFIG 9728/12000 Virtual Exec Interrupt level stacks: Level Called Unused/Size Name 1 23035463 7008/9000 Network interfaces 2 0 9000/9000 Timebase Reference Interrupt 3 0 9000/9000 PA Management Int Handler 6 9791 8892/9000 16552 Con/Aux Interrupt 7 1334963882 8920/9000 MPC860 TIMER INTERRUPT -
vty 回線(仮想 Exec)の場合、telnet セッションでは、まず TCP パケットを作成して、telnet クライアントに文字(列)を送信する必要があります。
EXEC プロセスによって CPU の使用率が高くなる問題のトラブルシューティング
Exec プロセスで CPU の使用率が高くなることに関しては、次の理由が考えられます。
-
コンソール ポートを経由して限度以上に大量のデータが送信されている。
ルータによって生成されたコンソール メッセージが多すぎることが原因として考えられます。
-
show debugging コマンドにより、ルータ上でデバッグが行われているかどうかを確認します。
-
ルータでのコンソールのロギングを無効にします(no logging console)。
-
コンソール上に長い出力が表示されているかどうかを確認します(たとえば、show tech-support や show memory など)
-
-
Cisco IOS ソフトウェアの不具合。
Software Bug Toolkit(登録ユーザのみ)を使用して、該当する Cisco IOS ソフトウェア リリースで、同じ症状が出る不具合を調べてください。
一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことを、ご了承ください。 -
非同期回線および補助回線に対して exec コマンドが設定されている。
-
回線上に発信トラフィックしかない場合は、その回線に対して Exec プロセスは無効にする必要があります。これは、その回線に接続されているデバイス(モデムなど)から不要なデータが送信されると、その回線上で Exec プロセスが起動するためです。
-
ルータがターミナル サーバとして使用されている場合は(他のデバイス コンソールに向けたリバース telnet など)、他方のデバイスのコンソールに接続されている回線に対して no exec を設定することを推奨します。 これを設定しないと、そのコンソールから戻ってきたデータによって、Exec プロセスが開始され、CPU リソースが使用されます。
-
仮想 EXEC プロセスによって CPU の使用率が高くなる問題のトラブルシューティング
仮想 Exec プロセスで CPU の使用率が高くなることに関しては、次の理由が考えられます。
-
Cisco IOS ソフトウェアの不具合。
Software Bug Toolkit(登録ユーザのみ)を使用して、該当する Cisco IOS ソフトウェア リリースで、同じ症状が出る不具合を調べてください。
一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことを、ご了承ください。 -
telnet セッションを経由して限度以上に大量のデータが送信されている。
仮想 Exec プロセスで CPU の使用率が高くなることに関して、最も一般的な原因は、ルータから telnet セッションに対して過剰な量のデータが送信されていることです。
これは、その telnet セッションで、大量の出力が出されるコマンド(show tech-support、show memory など)が実行されたときに生じる可能性があります。
各 vty セッションを通じて送信されるデータの量は、show tcp コマンドで確認できます。
router#show tcp vty 0 tty66, virtual tty from host 10.48.77.64 Connection state is ESTAB, I/O status: 1, unread input bytes: 1 Local host: 10.48.77.27, Local port: 23 Foreign host: 10.48.77.64, Foreign port: 11006 ........ Datagrams (max data segment is 1460 bytes): Rcvd: 525 (out of order: 0), with data: 53, total data bytes: 87 Sent: 366 (retransmit: 257, fastretransmit: 0), with data: 356, total data bytes: 158187
