シスコサポートコミュニティ
キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

ASA: show processes cpu-usage を用いた CPU負荷の調査

 

 

はじめに

ASAは 柔軟で多様なセキュリティ制御のため、CPUによるソフトウェアベースの通信制御を行います。その為、CPUの負荷が極めて高い場合、パケットドロップを引き起こし、それに伴う ASAを経由する通信の、スループット低下や コネクション切断の原因となりえます。

このCPU高負荷問題のトラブルシューティングには、まず 何が原因でCPU使用率が高騰しているかの調査が必要です。 この時、show proc cpu-usage non-zeroコマンドは、このCPU高負荷を引き起こしているプロセスの調査に 大変役立ちます。

本ドキュメントでは、当コマンド取得例と、取得時に確認できる主要プロセスについて紹介します。

     
     

show processes cpu-usage non-zero コマンドについて

5秒/1分/5分毎の、ゼロ以外の、各プロセスのCPU使用率を表示します。

asa# show proc cpu-u non
PC         Thread       5Sec     1Min     5Min   Process
0x00000000019bd596   0x00007fffec5c62e0     0.0%     0.1%     0.0%   telnet/ci
0x000000000199db42   0x00007fffec72b040     0.2%     0.2%     0.2%   Logger
0x000000000082d2c6   0x00007fffec71c4a0     3.8%     3.8%     1.8%   CP Processing
0x000000000082ce21   0x00007fffec71b9c0     0.1%     0.1%     0.1%   CP ARP Processing
0x0000000000bebedc   0x00007fffec715440     0.1%     0.1%     0.1%   ARP Thread
   -          -        31.2%    28.4%    14.6%   DATAPATH-0-1575

上記は、通信処理量の比較的多いASAで取得した結果です。 データパス(i.e.DATAPATH-0-1575)の負荷が高く、応じてコントロールポイント(i.e.CP Processing)の負荷が上昇していることがわかります。  

tipTips:
CPU高負荷問題の調査時は、定期的に調査用コマンドを実行し、それら出力を比較分析する事が重要です。 以下は分析例です。
   ・ 10秒毎に、取得と比較を繰り返し、瞬間的 or 継続的な負荷か分析
   ・ 数時間毎に、取得・比較を繰り返し、時間帯による傾向性があるか分析

高負荷のプロセスと その時間帯が判明したら、より深い原因調査を行います。  以下は調査例です。
    データパス高負荷時は、通信処理量が過大でないか調査 (詳しくは後述)
   ・ ARPプロセスが高負荷時は、ARPフラッドが発生していないか調査
   ・ Loggerプロセスが高負荷時は、ロギング対象の通信が膨大にないか調査
      合わせ、ロギング出力が細かすぎくないか確認 (デバッグ無効化し忘れ、など)
   ・ SNMPプロセスが高負荷時は、ポーリングやトラップの頻度が過大でないか調査
   ・ tmach compile threadプロセスが高負荷時は、ACLコンパイル処理に時間がかかっている可能性があり、ACL設定量が機器パフォーマンスに比べ過大でないか調査

    
   

主要プロセス一覧

 プロセス名 説明
 aaa  AAAに関する主要プロセス
 ARP Thread ARP処理の主要プロセス
 arp_timer ARPキャッシュの監視とクリアを行うARPタイマー
 ci/console コンソールセッション
 CP Processing データパスからコントロールポイント宛の、イベント・パケット処理を行う主要スレッド
 DATAPATH-X-YYY データパス処理における主要スレッド。各コア(X)毎に異なるスレッドが動作
 Dispatch Unit シングルコア モデルの、データパス処理における主要スレッド
 emweb/https SSL VPNなどで利用するHTTPSサーバのスレッド
 fover_FSM_thread フェイルオーバー状態の監視スレッド
 IKE Daemon IKE処理における主要スレッド
 Logger Syslog, console, buffer, monitorなどのSyslogスレッド
 Session Manager VPNセッションデータベースのタイマースレッド
 snmp  SNMPポーリングの受信と処理を行うスレッド
 SNMP Notify Thread SNMPトラップを送付するスレッド
 ssh  SSHセッションに関するスレッド
 telnet/ci Telnetセッションに関するスレッド
 tmatch compile thread ACL変更後、ACL処理の高速化のための コンパイルスレッド
 Unicorn Admin Handler ASDMセッションに関するスレッド
 Unicorn Proxy Thread WebVPNの処理に関連したスレッド
 vpnfol_thread_msg VPNフェイルオーバー関係のメインスレッド

 
    
    

データパスとは

Firewallとしてベーシックな機能である 以下処理などを行います。 これら処理は最適化されています。

    •  ACLチェック
    •  Xlateチェックと適用
    •  コネクション生成と管理
    •  TCPセキュリティチェック
    •  ルーティング、スイッチング   
    •  フラグメントパケットの再構築
    •  パケットキャプチャ    など

   
プロセス DATAPATH-X-YYY Dispatch Unit の 負荷が高い場合、データパスの高負荷を示します。 多くの場合、トラフィック過多や コネクション数 過多が 原因です。 他、ACLやNATの 設定量が過多の場合、このデータパス高負荷を さらに押し上げる時があります。

一時的な高負荷の場合は ネットワークの帯域を占有するクライアントやアプリケーションがないか確認します。 慢性的な 高負荷の場合は、利用のネットワークシステムに対し、ASAの処理パフォーマンスが適切か確認を行います。

なお、多数のフラグメントパケットの処理時や、過去に有効化した複数パケットキャプチャコマンドの無効化し忘れ、などが  データパス高負荷原因の1つとなる事もあります。

 

  • フラグメントパケットの処理数確認例
      - Assembled = フラグメントパケットの再構築に成功した回数
asa# show fragment
Interface: outside
    Size: 200, Chain: 24, Timeout: 5, Reassembly: virtual
    Queue: 0, Assembled: 207392, Fail: 2035, Overflow: 1937
Interface: dmz
    Size: 200, Chain: 24, Timeout: 5, Reassembly: virtual
    Queue: 0, Assembled: 0, Fail: 0, Overflow: 0

 

  • キャプチャ有効状況の確認例
      - キャプチャ無効化し忘れ時は、no capture <capname> で削除
ASA# show capture 
capture IN type raw-data interface inside [Buffer Full - 523562 bytes]
  match tcp host 192.168.30.1 host 173.37.145.84 eq www 

capture OUT type raw-data interface outside [Buffer Full - 523562 bytes]
 match tcp host 1.100.100.1 host 173.37.145.84 eq www

ASA# no capture IN <--- 未使用Captureの削除
ASA# no capture OUT <--- 未使用Captureの削除

   
    

CPU高負荷時の調査に役立つ情報

ASA 8.3 以降: パフォーマンスの問題のモニタとトラブルシューティング
パフォーマンス問題のトラブルシューティング時に有用なコマンドとTIPSが多数紹介されています
http://www.cisco.com/cisco/web/support/JP/110/1109/1109549_asaperformance.html


ASA: CPU Profileの取得方法
TACで調査時に利用しているコマンドとなりますが、"その他、CPU高負荷時の調査に有用なコマンド"も参考ください
https://supportforums.cisco.com/ja/document/12518051#CPU

  • タグ付けされた記事をさらに検索:
2301
閲覧回数
5
いいね!
0
コメント