Veröffentlicht am Schreiben Sie einen Kommentar

Wie Sie mit einem einfachen Bash-Skript Ihren Linux-Server optimieren und MariaDB bei hoher Swap-Auslastung neu starten können

Getestet mit Debian 12.2 / AlmaLinux

Wie man MariaDB automatisch neu startet, wenn die Swap-Auslastung zu hoch ist

MariaDB ist ein beliebtes Open-Source-Datenbankmanagementsystem, das auf vielen Linux-Servern eingesetzt wird. Es kann jedoch vorkommen, dass MariaDB zu viel Speicher verbraucht und den Swap-Speicher beansprucht, was die Leistung des Servers beeinträchtigen kann. In diesem Beitrag werde ich Ihnen zeigen, wie Sie ein einfaches Bash-Skript schreiben können, das die RAM- und Swap-Auslastung in Prozent anzeigt und MariaDB neu startet, wenn die Swap-Auslastung über 50% liegt. Dies kann nützlich sein, um MariaDB regelmäßig zu optimieren und zu vermeiden, dass der Server überlastet wird.

#!/bin/bash

# Display RAM usage in percent
echo "RAM Usage:" 
free | awk '/Mem/{printf("Used: %.2f% \n"), $3/$2*100.0}'

# Display Swap usage in percent
echo "Swap Usage:" 
SWAP_TOTAL=$(swapon -s | awk 'NR>1{print $3}')
SWAP_USED=$(swapon -s | awk 'NR>1{print $4}')
SWAP_USAGE=$(echo "scale=2; $SWAP_USED/$SWAP_TOTAL*100" | bc)
echo "Used: $SWAP_USAGE%"

# Check if the Swap usage is over 50%
if (( $(echo "$SWAP_USAGE > 50" | bc -l) )); then
    echo 'Swap usage is over 50%, restarting MariaDB...'
    sudo systemctl restart mariadb
else
    echo 'Swap usage is under 50%, no need to restart MariaDB.'
fi