はじめに
このドキュメントでは、適応型セキュリティアプライアンス(ASA)/Firepower Threat Defense(FTD)のさまざまなメモリコンポーネントの理解について説明します。
背景説明
メモリ関連の通知を受け取った場合、この記事では、予防措置を講じる時期と予防措置を無視する時期を決定します。 通常、Simple Network Management Protocol(SNMP)ポーリングは、メモリ関連のアラームを開始するために使用されます。このSNMPは、show memory detailコマンドの結果を使用して、データを収集し、アラートをトリガーします。
一般情報
この記事では、下記のメモリ要素について説明します
- MEMPOOL_HEAPCACHE_Xです。
- MEMPOOL_GLOBAL_共有
- MEMPOOL_DMAおよびMEMPOOL_DMA_ALT1
MEMPOOL_HEAPCACHE_Xです。
Heapcacheメモリーアラートについて
- Heapcache割り当て動作
- Heapcacheはメモリ割り当ての優先プールです。
- Heapcacheプールが枯渇すると、グローバル共有プールからさらに割り当てが行われます。
- グローバル共有プール自体が、必要に応じてシステムメモリからメモリをプルします。
- Heapcacheメモリアラート
- Heapcacheメモリアラートを受け取るのは通常の状態であり、問題を示しているわけではありません。
- Heapcacheメモリは、使用率に割り当てられた最初のプールであるため、高い使用率が予想されます。
- 監視のキーポイント
- システムメモリの使用に重点を置きます。
- システムメモリが十分な場合は、MEMPOOL_HEAPCACHE_0プールまたはMEMPOOL_GLOBAL_SHAREDプールのアラートを気にする必要はありません。
- SNMPツールを使用してシステムメモリを監視し、重大なしきい値やパフォーマンスの低下がないかどうかを確認します。
- アラートと予想される動作
- メモリ予約の動作は正常です。
- 必要に応じて、メモリが動的に予約され、割り当てられます。
- システムメモリ自体が著しく高くなる場合を除き、Heapcacheまたはグローバル共有プールに関連するアラートを安全に無視できます。
MEMPOOL_GLOBAL_共有
- 動的なメモリ処理
MEMPOOL_GLOBAL_SHAREDは、ブート時にすべてのメモリを事前に割り当てることはありません。代わりに、必要に応じてオペレーティングシステムからオンデマンドでメモリを要求します。
- メモリリリース
大量のメモリーが解放されると、MEMPOOL_GLOBAL_SHAREDはメモリーをオペレーティング・システムに戻します。
- 柔軟な成長/収縮
MEMPOOL_GLOBAL_SHAREDのサイズは、ワークロードに基づいて動的に拡張および縮小されます。この適応型の動作により、効率的なメモリの使用が保証されます。
- 速度に応じた最小キャッシュ
MEMPOOL_GLOBAL_SHARED内で割り当てられるメモリの量が少ないため、将来のメモリ割り当て要求を高速化し、遅延を回避できます。
アラートコンテキスト
このアラートが表示された場合、MEMPOOL_GLOBAL_SHAREDの予期される動作が示されます。メモリの増加、縮小、および動的な管理が行われるため、この動作は正常であり、問題を示すものではありません。特定のメモリ関連のパフォーマンスの問題が確認されない限り、このアラートを無視しても安全です。
MEMPOOL_DMAおよびMEMPOOL_DMA_ALT1
DMAメモリプールの概要
Cisco ASA/FTDのダイレクトメモリアクセス(DMA)メモリシステムは、次の2つの主要なメモリプールで構成されています。
- MEMPOOL_DMA
- MEMPOOL_DMA_ALT1
これらの2つのプールは、円滑なメモリの可用性を確保するために連携して動作します。
DMAメモリの使用
DMAメモリプールは、主に高速データアクセスとメモリ集約型の操作が必要なタスクに使用されます。これは、通常、VPN関連の機能や、次のような他のプロセスに使用されます。
- 仮想プライベートネットワーク(VPN)サービス:
- セキュリティおよびログサービス:
- 侵入防御システム(IPS)
- Syslogging(「logging host ...」)
- セキュアシェル(SSH)接続
-
管理およびその他のサービス:
DMAメモリプールの動作
- ブート時間の割り当て:
ブートアップ時に、ASAは有効な機能に基づいてDMAメモリを割り当てます。
- 動的なメモリ使用:
- MEMPOOL_DMA_ALT1にフォールバックします。
どのようなときに注意すべきか?
dmaメモリの高使用率関連の問題が発生する場合は、次の項目を確認してください。
HTTPサーバ:HTTPが設定されている場合、4、80、1550、2048、および2560バイトのブロックが割り当てられ、結果として約7MbのDMAが使用されます。ASDMへのアクセスを当分の間、無効にしてみてください。
URLサーバ:設定されている場合、81 KBのDMAメモリが追加されます。
インターネットキーエクスチェンジ(IKE)およびWebVPN:任意の形式のVPNを有効にすると、DMAメモリプールからメモリが取り出されます。
VPNを使用している場合は、このメモリも利用できます。 VPNの使用率をチェックし、ボックスのキャパシティを超えていないことを確認します。
ロギング:ロギングに使用されるDMAは、キューのサイズとロギングホストの数によって制御されます。
#shログの実行
ロギングキュー0を使用しない
ロギングキュー8192を使用しない
複数のロギングサーバを設定しないでください
ジャンボフレームを設定しない
SNMPモニタリング
示されているManagement Information Base(MIB;管理情報ベース)は、SNMPメモリの監視に使用されます。
次のMIBのCounter64値とその使用方法について理解しています。
MIBのカウンタ64の値
- MIB .1.3.6.1 .4.1.9.9.221.1.1.1.18::このMIBはcempMemPoolHCUsedオブジェクトを表します。これは、使用されているメモリプールの大容量カウンタです。プールで使用されているメモリの量をバイト単位で示します。
- MIB .1.3.6.1 .4.1.9.9.221.1.1.1.20: – このMIBはcempMemPoolHCFreeオブジェクトを表します。これは、空きメモリプールに対する大容量カウンタです。プール内の空きメモリの量をバイト単位で示します。
特定MIBの目的:
- MEMPOOL_MSGLYR_HB::メッセージ層ハートビートのメモリプールを表します。これは、システム内のハートビートメッセージ用に割り当てられたメモリを監視するために使用されます。
- MEMPOOL_MSGLYR: – メッセージ層のメモリプールを表します。これは、システム内の一般的なメッセージ層の動作に割り当てられたメモリを監視するために使用されます。
- MEMPOOL_HEAPCACHE_1: – ヒープキャッシュ1のメモリプールを表します。これは、システムの最初のヒープキャッシュに割り当てられたメモリを監視するために使用されます。
- MEMPOOL_HEAPCACHE_0: – ヒープキャッシュ0のメモリプールを表します。これは、システムのプライマリヒープキャッシュに割り当てられたメモリを監視するために使用されます。
- MEMPOOL_DMA_ALT1: - DMA代替1のメモリプールを表します。これは、システム内の最初の代替DMA操作に割り当てられたメモリを監視するために使用されます。
- MEMPOOL_DMA: - DMAのメモリプールを表します。これは、システムのDMA操作に割り当てられたメモリを監視するために使用されます。
- MEMPOOL_GLOBAL_SHARED: – グローバル共有メモリのメモリプールを表します。これは、システム内でグローバルに共有される操作に割り当てられたメモリを監視するために使用されます。