Einleitung
In diesem Dokument wird das Verfahren zur Behebung von Problemen mit der hohen Auslastung des Auslagerungsspeichers bei Cisco Policy Suit (CPS) beschrieben.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
Hinweis: Cisco empfiehlt, dass Sie über Berechtigungen für den Root-Zugriff auf die CPS CLI verfügen müssen.
Verwendete Komponenten
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
- CPS 20.2
- Unified Computing System (UCS)-B
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Hintergrundinformationen
Der Auslagerungsspeicher in Linux wird verwendet, wenn der physische Arbeitsspeicher (RAM) voll ist. Wenn das System mehr Speicherressourcen benötigt und der RAM voll ist, werden inaktive Seiten in den Auslagerungsspeicher verschoben. Auch wenn Auslagerungsspeicher Computern mit einer kleinen Menge an RAM helfen kann, darf er nicht als Ersatz für mehr RAM angesehen werden. Der Auslagerungsspeicher befindet sich auf Festplatten, die eine langsamere Zugriffszeit als der physische Speicher haben. Der Swap-Bereich kann eine dedizierte Swap-Partition (empfohlen), eine Swap-Datei oder eine Kombination aus Swap-Partitionen und Swap-Dateien sein.
In der Vergangenheit nahm der empfohlene Speicherplatz linear mit dem RAM im System zu. Moderne Systeme umfassen jedoch häufig Hunderte Gigabyte RAM. Folglich wird der empfohlene Auslagerungsbereich als Funktion der Arbeitslast des Systemspeichers und nicht des Systemspeichers betrachtet.
Memory Swap ist ein Speicherwiedergewinnungsverfahren, bei dem Speicherinhalte, die derzeit nicht verwendet werden, auf eine Festplatte ausgetauscht werden, um den Speicher für andere Anwendungen oder Prozesse verfügbar zu machen. Der genaue Zustand oder die "Seite" des Speichers wird auf die Festplatte kopiert, um die Daten zusammenhängend zu machen und später einfach wiederherzustellen.
Wie der virtuelle Speicher ist auch der Auslagerungsspeicher ein sekundärer Speicher. Es wird vom Betriebssystem verwendet, wenn kein physischer Speicher für die weitere Ausführung der Prozesse verfügbar ist. Wenn das Betriebssystem einen Arbeitsspeicher benötigt, der RAM jedoch voll ist, werden die inaktiven Seiten aus dem RAM in den Auslagerungsspeicher verschoben.
Um zu überprüfen, ob freier Auslagerungsspeicher auf Ihrem Rechner verfügbar ist, können Sie den Befehl free verwenden.
[root@dc1-qns01 ~]# free -m
total used free shared buff/cache available
Mem: 15876 4918 7750 792 3207 9987
Swap: 4095 0 4095
[root@dc1-qns01 ~]#
Problem
Ein höherer Prozentsatz der Auslagerungsauslastung ist normal, wenn die bereitgestellten Module die Festplatte intensiv nutzen. Die hohe Auslagerungsauslastung muss ein Zeichen dafür sein, dass das System unter Speicherdruck steht.
Dieser Alarm wird generiert, wenn der verfügbare Auslagerungsspeicher auf der virtuellen Maschine (VM) unter dem konfigurierten Schwellenwert liegt.
Außerdem wurde eine hohe Auslastung des Auslagerungsspeichers auf dem virtuellen pcrfclient01-System während des Ausfallsicherheitsereignisses festgestellt. Die Diagnose schlägt fehl, nachdem die Datei "diagnostic.sh" ausgeführt wurde, da der Auslagerungsspeicher im virtuellen System "pcrfclient" nicht ausreicht.
Checking swap space for all VMs...
Checking swap memory usage on pcrfclient01...[FAIL]
Swap usage is 1835 MB. This will likely lead to a slowdown in your system!
Please ensure your memory is provisioned properly.
If systems memory usage is no longer high, you can reset swap with: swap2ram.sh
Bedingung: Die Diagnose schlägt fehl, nachdem die Datei diagnostic.sh ausgeführt wurde, da der Swap-Speicher im virtuellen System pcrfclient knapp ist.
Verfahren zur Behebung von Problemen mit der Auslastung des hohen Auslagerungsspeichers bei CPS
Ansatz 1.
Lösung zu Hohe Auslagerungsspeicherauslastung wird auf pcrfclient01 VM zum Zeitpunkt der Ausfallsicherheit beobachtet.
1. Melden Sie sich bei der VM "pcrfclient" an, und überprüfen Sie den Festplattenspeicher mithilfe des du -sh * Befehls.
2. Überprüfen Sie /var/lib/carbon/whisper/cisco/quantum das Verzeichnis auf Speicherauslastung. Wenn eine Zunahme der Speichernutzung festgestellt wird, liegt das Problem an den Statistikdateien.
3. Löschen Sie zum Wiederherstellen des Arbeitsspeichers die Statistikdateien (.wsp), oder erhöhen Sie den Arbeitsspeicher des virtuellen Systems.
4. Um den Speicher wiederherzustellen, löschen Sie die Statistiken manuell aus dem Ordner, /var/lib/carbon/whisper/cisco/quantum oder löschen Sie die Statistiken mithilfe der folgenden Schritte:
- Führen Sie den Befehl aus
df –h, und notieren Sie sich die Festplattenspeicherplätze.
- Führen Sie folgende Befehle aus:
#du -h --max-depth=0 /var/lib/carbon/whisper/cisco/quantum/qps
#monit stop grafana-server
#monit stop carbon-cache
#vi /etc/carbon/storage-schemas.conf
- Aktualisieren Sie den Aufbewahrungszeitraum (von 90 Tagen auf 30 Tage), der sich am Ende der Datei befindet. Dies führt zu einer aggressiveren Retentionszeit.
Älter - Aufbewahrungen: 10s:1d,60s:90d
Aktualisierung auf - Aufbewahrungen: 10s:1d,60s:30d
- Führen Sie nach der Aktualisierung der Aufbewahrungsperiode die folgenden Befehle aus:
#monit start carbon-cache
#monit start grafana-server
Hinweis: Alternativ können Sie systmctl start/stop/restart command anstelle von monit start/stop/restart command verwenden.
- Erstellen Sie eine Datei namens resize.sh, und fügen Sie diese hinzu.
#monit stop carbon-cache
#cd /var/lib/carbon/whisper/cisco/quantum/qps
#find ./ -type f -name '*.wsp' -exec whisper-resize --nobackup {} $1 \;
#chown -R carbon:carbon *
#monit start carbon-cache
#monit restart grafana-server
- Fügen Sie die erforderlichen Berechtigungen mithilfe des
chmod 777 resize.sh Befehls hinzu.
- Ausgeführt
./resize.sh "updated_retention_value"
Beispielbefehl: #./resize.sh "10s:1d 60s:30d"
- Führen Sie nach Abschluss des Skripts diese Befehle aus, um zu bestätigen, dass die Datenmenge durch den Vergleich des vorherigen und des aktuellen Ergebnisses reduziert wurde.
#run df –h: disk space should reduce or less than previous result
#du -h --max-depth=0 /var/lib/carbon/whisper/cisco/quantum/qps
- Überprüfen Sie, ob die Grafana die letzten 30 Tage und nicht mehr als 30 Tage anzeigt. (Die aktualisierte Aufbewahrungsfrist beträgt 30 Tage).
Ansatz 2.
Allgemeine Empfehlung zur Behebung einer hohen Auslastung des Auslagerungsspeichers.
Um den Auslagerungsspeicher Ihres Systems zu löschen, müssen Sie den Auslagerungsspeicher einfach abschalten. Dadurch werden alle Daten aus dem Auslagerungsspeicher zurück in den RAM verschoben. Es bedeutet auch, dass Sie sicherstellen müssen, dass Sie über den RAM verfügen, um diesen Vorgang zu unterstützen. free -m Ein einfacher Weg, dies zu tun, ist zu laufen, um zu sehen, was in Swap und im RAM verwendet wird. Sobald Sie es ausschalten, können Sie eine beliebige Zeit (30 Sek. oder so) warten, um den Vorgang abzuschließen, und dann den Swap wieder einschalten. Dadurch wird der Auslagerungsspeicher-Cache gelöscht und wieder aktiviert. Hier finden Sie alle benötigten Befehle.
1. Swap-Speicherplatznutzung überprüfen: # free -m
2. Auslagern deaktivieren: # swapoff -a
Warten Sie ca. 30 Sek. Laufen Siefree -m, um zu sehen, dass die Anzahl der genutzten/verfügbaren Auslagerungen im Laufe der Zeit abnimmt.
3. Swap aktivieren:# swapon -a