Veröffentlicht am Schreiben Sie einen Kommentar

Shell-Script: Auf RAM und Swap Verbrauch reagieren

Dieses getestete Shell-Script ermittelt den Speicherverbrauch RAM und SWAP unter einem Debian 11.
Es startet wenn die SWAP Nutzung über 50% liegt in diesem Beispiel den MariaDB Datenbankserver neu um SWAP und RAM Ressourcen wieder freizugeben. Dieses Bash-Script eigenet sich sich für kleine VPS-Server die wenig Ressourcen haben um z.B. Dienste neuzustarten wie mysql / mariaDB um Ressourcen die den Seitenaufruf blockieren wieder freizugeben.
Das Script funktioniert unter bash und sh.

#!/bin/bash

# RAM-Verbrauch in Prozent anzeigen
echo "RAM-Verbrauch:"
free | awk '/Mem/{printf("Verbraucht: %.2f% \n"), $3/$2*100.0}'

# Swap-Verbrauch in Prozent anzeigen
echo "Swap-Verbrauch:"
free | awk '/Swap/{printf("Verbraucht: %.2f% \n"), $3/$2*100.0}'

# Swap-Verbrauch in Prozent ermitteln
SWAP_USAGE=$(free | awk '/Swap/{printf("%.0f"), $3/$2*100}')

# Überprüfen, ob der Swap-Verbrauch über 50% liegt
if (( SWAP_USAGE > 50 )); then
    echo "Swap-Verbrauch ist über 50%, MariaDB wird neu gestartet..."
    sudo systemctl restart mariadb
else
    echo "Swap-Verbrauch ist unter 50%, kein mariaDB Neustart erforderlich."
fi

In Crontab hinzufügen

Crontab -e

*/5 * * * * bash ~/ram_verbrauch.sh

Das Script wird im Homeverzeichnis des Benutzers geladen, der Pfad zum Shell-Script kann frei angepasst werden.

Kommentar verfassen