Einleitung
Dieses Dokument beschreibt das Verständnis der verschiedenen Speicherkomponenten in Adaptive Security Appliance (ASA)/Firepower Threat Defense (FTD).
Hintergrundinformationen
Wenn Sie speicherbezogene Benachrichtigungen erhalten, wird in diesem Artikel festgelegt, wann vorbeugende Maßnahmen ergriffen und wann diese ignoriert werden sollen. SNMP-Abfragen (Simple Network Management Protocol) werden in der Regel verwendet, um speicherbezogene Alarme zu initiieren. Dieses SNMP verwendet das Ergebnis des Befehls show memory detail, um Daten zu sammeln und Warnungen auszulösen.
Allgemeine Informationen
In diesem Artikel werden die nachfolgend genannten Speicherelemente erläutert
- MEMPOOL_HEAPCACHE_X
- MEMPOOL_GLOBAL_SHARED
- MEMPOOL_DMA und MEMPOOL_DMA_ALT1
MEMPOOL_HEAPCACHE_X
Hapcache-Speicherwarnungen verstehen
- Heapcache-Zuweisungsverhalten
- Heapcache ist der bevorzugte Pool für Speicherzuweisungen.
- Sobald der Heapcache-Pool erschöpft ist, werden weitere Zuweisungen aus dem globalen gemeinsamen Pool entnommen.
- Der globale Shared Pool selbst bezieht den Speicher nach Bedarf aus dem Systemspeicher.
- Heapcache-Speicherwarnungen
- Das Empfangen von Heapcache-Speicherwarnungen ist normal und weist nicht auf ein Problem hin.
- Eine hohe Nutzung des Heapcache-Speichers wird erwartet, da es sich um den ersten zugewiesenen Pool handelt.
- Wichtiger Aspekt der Überwachung
- Konzentrieren Sie sich auf die Nutzung des Systemspeichers.
- Wenn der Systemspeicher ausreichend ist, müssen Sie sich keine Gedanken über Warnungen für MEMPOOL_HEAPCACHE_0- oder MEMPOOL_GLOBAL_SHARED-Pools machen.
- Überwachen Sie den Systemspeicher mithilfe der SNMP-Tools auf kritische Grenzwerte oder Leistungseinbußen.
- Warnungen und erwartetes Verhalten
- Das Speicherreservierungsverhalten ist normal.
- Das System reserviert und ordnet Speicher dynamisch nach Bedarf zu.
- Sie können Warnungen im Zusammenhang mit Heapcache oder globalen gemeinsam genutzten Pools sicher ignorieren, es sei denn, der Systemspeicher selbst wird kritisch hoch.
MEMPOOL_GLOBAL_SHARED
- Dynamische Speicherverwaltung
MEMPOOL_GLOBAL_SHARED reserviert beim Start nicht den gesamten Speicher vorab. Stattdessen wird bei Bedarf Speicher vom Betriebssystem angefordert.
- Speicherfreigabe
Wenn eine große Speichermenge freigegeben wird, gibt MEMPOOL_GLOBAL_SHARED den Speicher zurück an das Betriebssystem.
- Elastisches Wachstum/Schrumpfung
Die Größe von MEMPOOL_GLOBAL_SHARED wird je nach Workload dynamisch erweitert und kontrahiert. Dieses adaptive Verhalten gewährleistet eine effiziente Speichernutzung.
- Minimaler Cache für höhere Geschwindigkeit
Innerhalb von MEMPOOL_GLOBAL_SHARED verbleibt ein kleiner Speicher, um zukünftige Speicherzuweisungsanforderungen zu beschleunigen und Latenzen zu vermeiden.
Warnungskontext
Wenn diese Warnung angezeigt wird, beschreibt sie das erwartete Verhalten von MEMPOOL_GLOBAL_SHARED. Da der Speicher dynamisch wächst, schrumpft und verwaltet wird, ist das Verhalten normal und weist nicht auf Probleme hin. Sie können diese Warnung sicher ignorieren, wenn keine spezifischen speicherbezogenen Leistungsprobleme festgestellt werden.
MEMPOOL_DMA und MEMPOOL_DMA_ALT1
DMA-Speicherpools - Übersicht
Das DMA-Speichersystem (Direct Memory Access) der Cisco ASA/FTD umfasst zwei zentrale Speicherpools:
- MEMPOOL_DMA
- MEMPOOL_DMA_ALT1
Diese beiden Pools arbeiten zusammen, um eine reibungslose Speicherverfügbarkeit zu gewährleisten:
-
MEMPOOL_DMA ist der primäre Pool.
-
MEMPOOL_DMA_ALT1 dient als Backup, wenn der primäre Pool erschöpft ist.
Verwendung von DMA-Speicher
Der DMA-Speicherpool wird hauptsächlich für Aufgaben verwendet, die einen Hochgeschwindigkeitsdatenzugriff und speicherintensive Vorgänge erfordern. Er wird in der Regel für VPN-bezogene Funktionen und andere Prozesse verwendet, darunter:
- VPN-Services (Virtual Private Network):
- Sicherheits- und Protokollierungsdienste:
- Intrusion Prevention System (IPS)
- Syslogging ("Protokollhost ...")
- Secure Shell (SSH)-Verbindungen
-
Management- und andere Services:
Verhalten von DMA-Speicherpools
- Zuweisung der Startzeit:
Beim Start weist die ASA den aktivierten Funktionen entsprechend DMA-Speicher zu.
- Dynamische Speicherverwendung:
- Fallback zu MEMPOOL_DMA_ALT1:
-
Wenn MEMPOOL_DMA voll ausgelastet ist, startet das System automatisch mit MEMPOOL_DMA_ALT1.
-
Dadurch wird ein kontinuierlicher Betrieb ohne speicherbedingte Unterbrechungen gewährleistet.
Wann sollten Sie sich Sorgen machen?
-
Wenn die MEMPOOL_DMA-Auslastung hoch ist (fast 100 %), gibt es kein unmittelbares Problem, solange MEMPOOL_DMA_ALT1 über ausreichend Speicher verfügt.
-
Wenn MEMPOOL_DMA_ALT1 ebenfalls zu füllen beginnt, signalisiert es ein Speichererschöpfungsproblem und erfordert weitere Untersuchungen.
- Maßnahme erforderlich:
-
Überwachung der Nutzung von MEMPOOL_DMA_ALT1
-
Wenn beide Pools die Vollauslastung erreichen, untersuchen Sie die Nutzung der Funktionen, die Protokollierungsaktivität und speicherintensive Prozesse.
Wenn Sie Probleme mit dem High DMA-Speicher feststellen, überprüfen Sie Folgendes:
HTTP-Server: Wenn HTTP konfiguriert ist, werden 4-, 80-, 1550-, 2048- und 2560-Byte-Blöcke zugewiesen, sodass ca. 7 MB DMA verwendet werden. Versuchen Sie, den ASDM-Zugriff vorerst zu deaktivieren.
URL-Server: Wenn es konfiguriert ist, werden weitere 81 KB DMA-Speicher hinzugefügt.
Internet Key Exchange (IKE) und WebVPN: Wenn eine beliebige Form von VPN aktiviert ist, wird Speicher aus dem DMA-Speicherpool entfernt.
Wenn Sie ein VPN verwenden, kann dieses auch diesen Speicher nutzen. Überprüfen Sie die VPN-Nutzung, um sicherzustellen, dass die Kapazität des Pakets nicht überschritten wird.
Protokollieren: Die für die Protokollierung verwendete DMA wird durch die Warteschlangengröße und die Anzahl der Protokollierungshosts bestimmt.
#sh Protokoll ausführen
Keine Protokollierungswarteschlange verwenden 0
Keine Protokollwarteschlange verwenden 8192
nicht mehr als einen Protokollierungsserver konfigurieren
keine Jumbo Frames konfigurieren
SNMP-Überwachung
Die gezeigten Management Information Bases (MIBs) werden für die SNMP-Speicherüberwachung verwendet.
Kenntnis der Counter64-Werte in diesen MIBs und deren Verwendung:
Counter64-Werte in MIBs
- MIB .1.3.6.1.4.1.9.9.221.1.1.1.1.18: - Diese MIB stellt das cempMemPoolHCUsed-Objekt dar, bei dem es sich um einen Leistungsindikator mit hoher Kapazität für den verwendeten Speicherpool handelt. Dieser Wert gibt die im Pool verwendete Speicherkapazität in Byte an.
- MIB .1.3.6.1.4.1.9.9.21.1.1.1.1.20: - Diese MIB stellt das cempMemPoolHCFree-Objekt dar, das ein Leistungsindikator mit hoher Kapazität für den freien Speicherpool ist. Sie liefert die Menge an freiem Speicher im Pool, gemessen in Byte.
Zweck spezifischer MIBs:
- MEMPOOL_MSGLYR_HB: - Stellt den Speicherpool für den Heartbeat der Nachrichtenebene dar. Diese wird verwendet, um den Speicher zu überwachen, der für Heartbeat-Nachrichten im System zugewiesen ist.
- MEMPOOL_MSGLYR: - Stellt den Speicherpool für die Nachrichtenebene dar. Diese dient zur Überwachung des für allgemeine Nachrichtenschichtoperationen im System reservierten Speichers.
- MEMPOOL_HEAPCACHE_1: - Stellt den Speicherpool für den Heapcache 1 dar. Dieser wird verwendet, um den Speicher zu überwachen, der für den ersten Heapcache im System zugewiesen ist.
- MEMPOOL_HEAPCACHE_0: - Stellt den Speicherpool für den Heapcache 0 dar. Dieser wird verwendet, um den Speicher zu überwachen, der dem primären Heapcache im System zugewiesen ist.
- MEMPOOL_DMA_ALT1: - Stellt den Speicherpool für DMA Alternativ 1 dar. Dieser wird verwendet, um den Speicher zu überwachen, der für die ersten alternativen DMA-Vorgänge im System zugewiesen ist.
- MEMPOOL_DMA: - Stellt den Speicherpool für DMA dar. Diese dient zum Überwachen des für DMA-Vorgänge im System reservierten Speichers.
- MEMPOOL_GLOBAL_SHARED: - Stellt den Speicherpool für den globalen freigegebenen Speicher dar. Diese dient zum Überwachen des Speichers, der für global freigegebene Vorgänge im System zugewiesen ist.