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.