SSH-Verbindungsproblem: Keine Verbindung zum Server möglich
Anleitung zur Behebung von SSH-Verbindungsproblemen: Path.net Firewall-Regeln, Default Block, Filterregel für SSH-Port erstellen und Fehlerbehebungsschritte.
Speicherlecks auf Linux-Servern erkennen, den RAM-verbrauchenden Prozess identifizieren und kurz- sowie langfristige Lösungen anwenden.
Ein Speicherleck tritt auf, wenn eine Anwendung verwendeten Speicher nicht ordnungsgemäß freigibt, wodurch die RAM-Nutzung im Laufe der Zeit kontinuierlich ansteigt. Schließlich geht dem System der Speicher aus, der Swap-Bereich füllt sich und der Server verlangsamt sich oder stürzt ab.
Typische Anzeichen eines Speicherlecks:
free -h nimmt allmählich ab# Allgemeiner Speicherstatus
free -h
# Detaillierte Speicherinfo
cat /proc/meminfo
# OOM-Killer-Protokolle
dmesg | grep -i 'oom\|killed process\|out of memory'
# Nach Speichernutzung sortieren
ps aux --sort=-%mem | head -20
# Echtzeit-Überwachung mit top
top
# 'M' drücken zum Sortieren nach Speicher
# Detailliertere Speicheranalyse mit smem
sudo apt install smem -y
smem -r -k | head -20
# PID eines bestimmten Prozesses finden
pgrep -f app_name
# Speichernutzung alle 30 Sekunden protokollieren
while true; do
echo "$(date): $(cat /proc/PID/status | grep VmRSS)"
sleep 30
done
# Node.js Speicherlimit setzen
node --max-old-space-size=512 app.js
# PM2 Auto-Neustart bei Speicherlimit
pm2 start app.js --max-memory-restart 500M
# /etc/php/8.x/fpm/pool.d/www.conf
# pm.max_requests = 500
# memory_limit = 256M
# Seiten-Cache leeren (sicher)
sync && echo 1 > /proc/sys/vm/drop_caches
# Dienst neu starten
sudo systemctl restart service_name
# Speicherlimit mit systemd
# [Service]
# MemoryMax=512M
# Swap-Datei erstellen
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Um Speicherlecks zu beheben, identifizieren Sie zunächst mit ps aux und smem, welcher Prozess Speicher verbraucht, und bestätigen Sie das Leck durch Überwachung des Wachstums im Zeitverlauf. Kurzfristig starten Sie den lecken Dienst neu und wenden Sie ein Speicherlimit mit systemd an. Für eine dauerhafte Lösung untersuchen Sie den Quellcode der Anwendung mit Tools wie Valgrind (C/C++), heapdump (Node.js) oder jmap (Java).
Hohe Speichernutzung kann normal sein. Bei einem Speicherleck steigt die RAM-Nutzung kontinuierlich und sinkt nie. Wenn sie nach einem Serverneustart zur Normalität zurückkehrt, liegt ein Leck vor.
Der OOM-Killer ist ein Linux-Kernel-Mechanismus, der automatisch den speicherhungrigsten Prozess tötet, um das System zu retten, wenn der Speicher erschöpft ist. Verwenden Sie 'dmesg | grep oom', um zu sehen, welcher Prozess getötet wurde.
Das Leeren des Seiten-Caches (echo 1) ist im Allgemeinen sicher, erhöht aber vorübergehend die Disk-I/O. Vermeiden Sie die Verwendung in Stoßzeiten in der Produktion.
Eine dauerhafte Lösung erfordert die Untersuchung des Quellcodes der Anwendung. Verwenden Sie Tools wie Valgrind (C/C++), heapdump (Node.js) oder jmap (Java). Kurzfristig wenden Sie ein MemoryMax-Limit mit systemd an.
Anleitung zur Behebung von SSH-Verbindungsproblemen: Path.net Firewall-Regeln, Default Block, Filterregel für SSH-Port erstellen und Fehlerbehebungsschritte.
Anleitung zur Behebung von RDP-Verbindungsproblemen: Path.net Firewall-Regeln, Default Block, Filterregel für RDP-Port erstellen und Fehlerbehebungsschritte.
Anleitung zum Netzwerktest mit WinMTR und Linux MTR, ICMP-Filterregel erstellen und Ergebnisse an das Support-Team senden. Paketverlust und Latenz diagnostizieren.