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