show cpu detail コマンド を実行時、以下の出力について問い合わせをいただく事があります。
1. データシートや show version で確認できるコア数に比べて、出力されるコア数が少ない
2. 下半分のコアのCPU使用率が ほぼ0%
例えば以下はFPR4115の show tech の出力の抜粋です。show versionの出力は 48 cores ですが、show cpu detailed のコア数は 46コアであることがわかります。また、46コアのうち 半分しか、ほぼ使われてません。
Hardware: FPR4K-SM-24S, 173315 MB RAM, CPU Xeon 4100/6100/8100 series 2100 MHz, 2 CPUs (48 cores) <--- 48コア
--- 略 ---
------------------ show cpu usage ------------------
CPU utilization for 5 seconds = 4%; 1 minute: 4%; 5 minutes: 5%
------------------ show cpu detailed ------------------
Break down of per-core data path versus control point cpu usage:
Core 5 sec 1 min 5 min
Core 0 8.0 (7.2 + 0.8) 8.5 ( 7.8 + 0.7) 8.7 ( 7.8 + 0.8)
Core 1 9.0 (9.0 + 0.0) 9.7 ( 9.7 + 0.0) 9.8 ( 9.8 + 0.0)
Core 2 9.2 (9.2 + 0.0) 9.9 ( 9.9 + 0.0) 10.0 (10.0 + 0.0)
Core 3 9.2 (9.2 + 0.0) 10.0 (10.0 + 0.0) 10.0 (10.0 + 0.0)
Core 4 9.4 (9.4 + 0.0) 10.1 (10.1 + 0.0) 10.1 (10.1 + 0.0)
Core 5 9.0 (9.0 + 0.0) 10.0 (10.0 + 0.0) 10.0 (10.0 + 0.0)
Core 6 9.4 (9.4 + 0.0) 10.1 (10.1 + 0.0) 10.0 (10.0 + 0.0)
Core 7 9.0 (9.0 + 0.0) 9.8 ( 9.8 + 0.0) 9.8 ( 9.8 + 0.0)
Core 8 8.8 (8.8 + 0.0) 9.5 ( 9.5 + 0.0) 9.6 ( 9.6 + 0.0)
Core 9 8.6 (8.6 + 0.0) 9.3 ( 9.3 + 0.0) 9.3 ( 9.3 + 0.0)
Core 10 8.8 (8.8 + 0.0) 9.3 ( 9.3 + 0.0) 9.3 ( 9.3 + 0.0)
Core 11 7.2 (6.4 + 0.8) 7.7 ( 6.9 + 0.8) 7.9 ( 7.0 + 0.9)
Core 12 6.6 (6.6 + 0.0) 7.3 ( 7.3 + 0.0) 7.4 ( 7.4 + 0.0)
Core 13 6.8 (6.8 + 0.0) 7.5 ( 7.5 + 0.0) 7.6 ( 7.6 + 0.0)
Core 14 6.8 (6.8 + 0.0) 7.5 ( 7.5 + 0.0) 7.6 ( 7.6 + 0.0)
Core 15 6.8 (6.8 + 0.0) 7.4 ( 7.4 + 0.0) 7.6 ( 7.6 + 0.0)
Core 16 7.2 (7.2 + 0.0) 7.8 ( 7.8 + 0.0) 7.9 ( 7.9 + 0.0)
Core 17 7.0 (7.0 + 0.0) 7.7 ( 7.7 + 0.0) 7.9 ( 7.9 + 0.0)
Core 18 7.2 (7.2 + 0.0) 7.7 ( 7.7 + 0.0) 7.8 ( 7.8 + 0.0)
Core 19 7.2 (7.2 + 0.0) 7.7 ( 7.7 + 0.0) 7.8 ( 7.8 + 0.0)
Core 20 7.0 (7.0 + 0.0) 7.8 ( 7.8 + 0.0) 7.9 ( 7.9 + 0.0)
Core 21 7.0 (7.0 + 0.0) 7.8 ( 7.8 + 0.0) 7.9 ( 7.9 + 0.0)
Core 22 7.0 (7.0 + 0.0) 7.7 ( 7.7 + 0.0) 7.8 ( 7.8 + 0.0)
Core 23 0.8 (0.0 + 0.8) 0.6 ( 0.0 + 0.6) 0.8 ( 0.0 + 0.8) <--- 下半分のCPU負荷が殆どなし
Core 24 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 25 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 26 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 27 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 28 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 29 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 30 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 31 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 32 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 33 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 34 1.0 (0.0 + 1.0) 0.7 ( 0.0 + 0.7) 0.7 ( 0.0 + 0.7)
Core 35 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 36 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 37 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 38 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 39 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 40 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 41 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 42 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 43 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 44 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0)
Core 45 0.0 (0.0 + 0.0) 0.0 ( 0.0 + 0.0) 0.0 ( 0.0 + 0.0) <--- showコマンド出力は46コアまで
Current control point elapsed versus the maximum control point elapsed for:
5 seconds = 0.0%; 1 minute: 0.1%; 5 minutes: 7.1%
CPU utilization of external processes for:
5 seconds = 0.0%; 1 minute: 0.0%; 5 minutes: 0.0%
Total CPU utilization for:
5 seconds = 4.1%; 1 minute: 4.4%; 5 minutes: 4.5%
まず show cpu detailed で確認できる CPUコア数が、show version の出力よりも少ないのは、一部コアが動的にFXOSのCPU処理用に割り当てられているためです。そのため、FXOS処理用のコア(FPR4100の場合は2コア)はASA側の show cpu detail コマンドでは確認できません。FXOSのCPUの確認方法について詳しくは、以下ドキュメントを参照してください。
https://community.cisco.com/t5/-/-/tac-p/3999763
次に show cpu detailed の下半分のCPU使用率がほぼ0%なのは、FPR4100/9300は Dynamic Hyperthreading に対応している影響です。全体のCPU負荷が高負荷でない場合、半分のコアのみ データ通信処理(Datapath)や ControlPoint(CP)処理に使うことで、処理効率を高めています。仮に稼働中コア全体のCPU負荷が高い場合(目安:平均負荷70~80%以上)、全ての Core が使われるようになります。
上記2点について、より詳しくは、Cisco ASA シリーズ コマンド リファレンス を参照してください。
https://www.cisco.com/c/ja_jp/td/docs/security/asa/asa-command-reference/S/cmdref3/s4.html#pgfId-1439115
抜粋:
(注) ASA が FXOS シャーシで実行されている場合、show cpu コマンドの出力に表示される CPU コアの数が、Firepower 4100 プラットフォームや 9300(FXOS ベース)プラットフォームなど、一部のプラットフォームの show version コマンドの出力に表示される数よりも少ないことがあります。
動的なハイパースレッディングのサポートの導入により、Firepower 4100 プラットフォームおよび 9300 プラットフォームでの show cpu コマンドの出力が変更されました。トラフィックのスループットが低い場合、 show cpu [detailed | core | external] CLI の出力は、スタンドアロンの ASA 出力に表示されるものと異なります。CPU ハイパースレッディング機能がディセーブルになっている場合、CPU コアの使用状況出力の後半部分は低くなります。ASA トラフィックのスループットがしきい値の上限を超えている場合、CPU ハイパースレッディング機能をイネーブルにすると show cpu コマンドがスタンドアロンの ASA と同じ出力を表示するようになります。
参考情報
ファイアウォール トラブルシューティング
https://community.cisco.com/t5/-/-/ta-p/3161736
Firepower System and FTDトラブルシューティング
https://community.cisco.com/t5/-/-/ta-p/3161733