ルータ : Cisco 7500 シリーズ ルータ

EXEC および仮想 EXEC プロセスでの CPU 高使用率

2016 年 10 月 27 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2010 年 12 月 10 日) | 英語版 (2015 年 12 月 31 日) | フィードバック


目次


概要

このドキュメントでは、EXEC および仮想 EXEC プロセスの概要と、これらのプロセスでの CPU 高使用率に関するトラブルシューティングについて説明しています。

前提条件

要件

このドキュメントの前に、『Cisco ルータの CPU 使用率が高い場合のトラブルシューティング』を読むことを推奨します。

使用するコンポーネント

このドキュメントは、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。 対象のネットワークが実稼働中である場合には、どのような作業についても、その潜在的な影響について確実に理解しておく必要があります。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

EXEC プロセスおよび仮想 EXEC プロセスとは

Cisco IOS の Exec プロセスか。 ソフトウェアはルータの tty 行(コンソール、補助、非同期)の通信に責任があります。 仮想 Exec プロセスが受け持つのは VTY 回線(Telnet セッション)です。

Exec および仮想 Exec プロセスは優先順位が中程度のプロセスなので、より優先順位の高い(High または Critical)のプロセスがあると、優先順位がより高いプロセスが 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 使用率が高くなる理由を説明しています。

  • コンソール ポートを経由して限度以上に大量のデータが送信されている。

    ルータによって生成されたコンソール メッセージが多すぎることが原因として考えられます。

    1. show debugging コマンドで、ルータで何らかのデバッグが開始されているかどうかを調べます。

    2. ルータをとのログオンするコンソールをディセーブルにして下さい(no logging console)。

    3. コンソールに長い出力が表示されているかどうかを確認します(たとえば、show tech-support または show memory)。

  • Cisco IOS ソフトウェアに不具合がある。

    Bug Toolkit登録 ユーザ専用)を使用して、該当する Cisco IOS ソフトウェア リリースで、同じ症状が出る不具合を調べてください。

  • exec コマンドが非同期回線と補助回線に対して設定されている。

    • 回線に発信トラフィックのみが存在する場合、この回線用の Exec プロセスを無効化する必要があります。この回線に接続されたデバイス(モデムなど)から不要なデータが送信された場合に、この回線で Exec プロセスが開始されるためです。

    • ルータがターミナル サーバとして(他のデバイス コンソールへのリバース Telnet に)使用されている場合、これらの他のデバイスのコンソールに接続されている回線に no exec を設定することが推奨されます。 こうしないと、コンソールから戻されるデータにより Exec プロセスが開始され、CPU リソースが使用されてしまいます。

仮想 EXEC プロセスでの CPU 高使用率に関するトラブルシューティング

次のリストでは、仮想 Exec プロセスで CPU 使用率が高くなる理由を説明しています。

  • Cisco IOS ソフトウェアの不具合

    Software Bug Toolkit登録ユーザ専用)を使用して、該当する Cisco IOS ソフトウェア リリースで、同じ症状が出る不具合を調べてください。

  • Telnet セッションで過剰なデータが送信されています。

    仮想実行プロセスの CPU使用率が高い状態のためのもっとも一般的な原因はたくさんのデータがルータから Telnetセッションに転送されることです。

    これは、その telnet セッションで、大量の出力が出されるコマンド(show tech-supportshow 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 
    
  • 膨大な Telnet セッションが生じると、仮想 Exec プロセスにより CPU 使用率が高くなります。 膨大な Telnet セッションをクリアするには、多くの場合、デバイスをリロードする必要があります。 膨大な Telnet セッションをクリアするもう 1 つの方法は、TCP プロセスをクリアすることです。 TCP プロセスは、次の出力のように、show tcp brief コマンドで特定できます。

Router#show tcp brief
TCB       Local Address           Foreign Address        (state)
02FA62D0  172.16.152.75.23        dhcp-171-69-104-.3013  ESTAB

上記の出力例では、膨大な Telnet セッションをクリアするために、clear tcp tcb 0x02fa62d0コマンドで TCP プロセス 02FA62D0 をクリアする必要があります。


関連情報


Document ID: 41100