mailcow-dockerized-docs/docs/troubleshooting/debug-rspamd_memory_leaks.de.md

85 Zeilen
2,5 KiB
Markdown

Eine kurze Anleitung, um einen schlecht funktionierenden Rspamd tiefgehend zu analysieren.
2023-01-13 18:16:08 +01:00
=== "docker compose (Plugin)"
2023-01-13 18:16:08 +01:00
``` bash
docker compose exec rspamd-mailcow bash
2023-01-13 18:16:08 +01:00
if ! grep -qi 'apt-stable-asan' /etc/apt/sources.list.d/rspamd.list; then
sed -i 's/apt-stabil/apt-stabil-asan/i' /etc/apt/sources.list.d/rspamd.list
fi
2023-01-13 18:16:08 +01:00
apt-get update ; apt-get upgrade rspamd
2023-01-13 18:16:08 +01:00
nano /docker-entrypoint.sh
2023-01-13 18:16:08 +01:00
# FĂĽgen Sie vor "exec "$@"" die folgenden Zeilen ein:
2023-01-13 18:16:08 +01:00
export G_SLICE=always-malloc
export ASAN_OPTIONS=new_delete_type_mismatch=0:detect_leaks=1:detect_odr_violation=0:log_path=/tmp/rspamd-asan:quarantine_size_mb=2048:malloc_context_size=8:fast_unwind_on_malloc=0
```
2023-01-13 18:16:08 +01:00
=== "docker-compose (Standalone)"
``` bash
docker-compose exec rspamd-mailcow bash
if ! grep -qi 'apt-stable-asan' /etc/apt/sources.list.d/rspamd.list; then
sed -i 's/apt-stabil/apt-stabil-asan/i' /etc/apt/sources.list.d/rspamd.list
fi
apt-get update ; apt-get upgrade rspamd
nano /docker-entrypoint.sh
# FĂĽgen Sie vor "exec "$@"" die folgenden Zeilen ein:
export G_SLICE=always-malloc
export ASAN_OPTIONS=new_delete_type_mismatch=0:detect_leaks=1:detect_odr_violation=0:log_path=/tmp/rspamd-asan:quarantine_size_mb=2048:malloc_context_size=8:fast_unwind_on_malloc=0
```
Starten Sie Rspamd neu:
=== "docker compose (Plugin)"
``` bash
docker compose restart rspamd-mailcow
```
=== "docker-compose (Standalone)"
``` bash
docker-compose restart rspamd-mailcow
```
Ihr Speicherverbrauch wird stark ansteigen, er wird auch stetig wachsen, was nicht mit einem möglichen Memory Leak zusammenhängt, nach dem Sie suchen.
2023-01-13 18:16:08 +01:00
Lassen Sie den Container fĂĽr ein paar Minuten, Stunden oder Tage laufen (es sollte die Zeit sein, die Sie normalerweise warten, bis der Memory Leak "passiert") und starten Sie ihn neu:
=== "docker compose (Plugin)"
``` bash
docker compose restart rspamd-mailcow
```
=== "docker-compose (Standalone)"
``` bash
docker-compose restart rspamd-mailcow
```
Betreten Sie nun den Container, indem Sie den folgenden Befehl ausfĂĽhren:
=== "docker compose (Plugin)"
``` bash
docker compose exec rspamd-mailcow bash
```
=== "docker-compose (Standalone)"
``` bash
docker-compose exec rspamd-mailcow bash
```
2023-01-13 18:16:08 +01:00
Wechseln Sie das Verzeichnis zu /tmp und kopieren Sie die asan-Dateien an den gewĂĽnschten Ort oder laden Sie sie ĂĽber termbin.com hoch (`cat /tmp/rspamd-asan.* | nc termbin.com 9999`).