Um etwaige Memory Leaks zu finden empfiehlt sich das Programm ‘valgrind’.
Vorbereitungen:
(alle pfade relativ zu den entpackten Sourcen)
0. ”configure” laufen lassen
1. Man editiere die Datei base/Makefile in der Form:
# Von:
CFLAGS=-g -O2 -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DNSCORE
# Nach:
CFLAGS=-g -O0 -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DNSCORE
Dies veranlasst den Compiler dazu, keine Codeoptimierungen von sich aus vorzunehmen und das zusätzliche “-g” Flag veranlasst den Compiler dazu debugging informationen im Betriebsystemspezifischen Format zu erzeugen.
Anschließend muss der Nagios Code neu übersetzt werden:
cd base
make clean
make
Hinweis: Für das aufspüren von Memory Leaks mittels Valgrind sollte man die nagios.cfg Option ‘use_large_installation_tweaks’ nicht auf den Wert ’1′ stehen haben.
Diese Option macht ganz bewusst ein paar Sachen, die man eigentlich nicht machen sollte, daher kommen auch Fehler im valgrind zu tage.
Valgrind ausführen (valgrind ausgaben in /tmp/valgrind.[pid]):
valgrind --log-file=/tmp/valgrind --trace-children=no --leak-check=full
nagios /usr/local/nagios/etc/nagios.cfg
No related posts.
Related posts brought to you by Yet Another Related Posts Plugin.
