Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Jakiś czas temu zauważyłem, że free pokazuje mi, że mam dużo zajętej pamięci mimo iż nie miałem prawie nic uruchomione. W końcu znalazłem 3 programy które to mogły powodować: cron, fetchmail (uruchamiany przez crona co 15 minut) lub procmail (uruchamiany przez fetchmaila). Wyłączyłem wszystkie 3 i się uspokoiło (zawsze po nocy było 100 MB dodatkowego zajętego ramu). Postanowiłem odpalać je po kolei i zobaczyć co się dzieje. Odpaliłem crona (bez moich wpisów o fetchmail'a) i się okazało że problem powrócił.
I pytanie: Dlaczego cron nagle zaczął robić te wycieki oraz jak go zmusić żeby ich nie robił?
Offline
# valgrind --leak-check=full --show-reachable=yes cron
==4150== Memcheck, a memory error detector.
==4150== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==4150== Using LibVEX rev 1732, a library for dynamic binary translation.
==4150== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==4150== Using valgrind-3.2.3-Debian, a dynamic binary instrumentation framework.
==4150== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==4150== For more details, rerun with: -v
==4150==
cron: can't lock /var/run/crond.pid, otherpid may be 3011: Resource temporarily unavailable
==4150==
==4150== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 21 from 1)
==4150== malloc/free: in use at exit: 704 bytes in 2 blocks.
==4150== malloc/free: 18 allocs, 16 frees, 15,259 bytes allocated.
==4150== For counts of detected errors, rerun with: -v
==4150== searching for pointers to 2 not-freed blocks.
==4150== checked 138,068 bytes.
==4150==
==4150== 704 bytes in 2 blocks are still reachable in loss record 1 of 1
==4150== at 0x401D4B0: malloc (vg_replace_malloc.c:149)
==4150== by 0x40A4FE6: fdopen (in /lib/tls/i686/cmov/libc-2.3.6.so)
==4150== by 0x804A14E: (within /usr/sbin/cron)
==4150== by 0x4064EA7: (below main) (in /lib/tls/i686/cmov/libc-2.3.6.so)
==4150==
==4150== LEAK SUMMARY:
==4150== definitely lost: 0 bytes in 0 blocks.
==4150== possibly lost: 0 bytes in 0 blocks.
==4150== still reachable: 704 bytes in 2 blocks.
==4150== suppressed: 0 bytes in 0 blocks.
Wyglada ze w kodzie cos jest nie tak.
Moze Bug?
Offline