Witam,

Już jakiś czas temu (1 czerwca 2011) raportowałem wywalająco-zatykające się 
ekg. I faktycznie, po rekompilacji do najnowszej wersji problem wywalania się 
zniknął, co jest dobrą wiadomością. Nadal ekg "zatyka się" na parsowaniu 
wielkich XMLi (po kilku dniach uptime'u), ale ponieważ zatykanie się jest 
pojęciem względnym (i trudno je tropić), to sprawy nie drążę.

Dziś natomiast, zauważyłem, że
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM   TIME P COMMAND
 8952 kotek     20   0 3030m 2.9g 1764 S  0.0 37.2 104:24 3 ekg

Tak, ekg pożera pamięć, i to na gigabajty.

Pierwsze moje przypuszczenie padło na backlog, który miałem ustawiony na 100k 
linii. Po zmniejszeniu go na 1000, zużycie pamięci nie uległo zmianie. Więc to 
chyba coś innego. Co mógłbym dołączyć, aby pomoć zdiagnozować problem (jeśli 
jest tu w ogóle jakiś problem - pomyślałem, że może to, i zatykanie się przy 
parsowaniu, są związane, czyli jest sobie coś.. co się strasznie rozrasta wraz 
z wiekiem ekg).

Inne dane:
30-1925 ::: EKG - Eksperymentalny Klient Gadu-Gadu (20110601)
30-1925 ::: libgadu-20110601 (protokół 0x2e, klient 10.1.0.11070)
30-1925 ::: skompilowano: Jun  2 2011 09:36:51

30-1925 ::: Program działa od: 2011-09-21 01:54 
30-1925 ::: Aktualny serwer: 91.214.237.54:8074
30-1925 ::: Połączony od: 05:31

"Na oko" od uruchomienia ekg przesłało jakieś 3000 wiadomości, więc nie 
ekstrealne ilości.

Załączam /proc/8952/maps
Z tego co widzę, większość zajmuje sterta.. czyli żadne zaskoczenie.

Pozdrawiam,
Michał Przyłuski
00400000-00457000 r-xp 00000000 08:02 537667                             
/usr/local/bin/ekg
00657000-00658000 rw-p 00057000 08:02 537667                             
/usr/local/bin/ekg
00658000-00661000 rw-p 00000000 00:00 0 
024d1000-bc80b000 rw-p 00000000 00:00 0                                  [heap]
3506e00000-3506e08000 r-xp 00000000 08:02 529216                         
/lib64/libkrb5support.so.0.1
3506e08000-3507008000 ---p 00008000 08:02 529216                         
/lib64/libkrb5support.so.0.1
3507008000-3507009000 rw-p 00008000 08:02 529216                         
/lib64/libkrb5support.so.0.1
3507200000-350722a000 r-xp 00000000 08:02 532065                         
/lib64/libk5crypto.so.3.1
350722a000-350742a000 ---p 0002a000 08:02 532065                         
/lib64/libk5crypto.so.3.1
350742a000-350742c000 rw-p 0002a000 08:02 532065                         
/lib64/libk5crypto.so.3.1
3507600000-350762d000 r-xp 00000000 08:02 541552                         
/lib64/libgssapi_krb5.so.2.2
350762d000-350782d000 ---p 0002d000 08:02 541552                         
/lib64/libgssapi_krb5.so.2.2
350782d000-350782f000 rw-p 0002d000 08:02 541552                         
/lib64/libgssapi_krb5.so.2.2
3507a00000-3507ab3000 r-xp 00000000 08:02 537661                         
/lib64/libkrb5.so.3.3
3507ab3000-3507cb3000 ---p 000b3000 08:02 537661                         
/lib64/libkrb5.so.3.3
3507cb3000-3507cbd000 rw-p 000b3000 08:02 537661                         
/lib64/libkrb5.so.3.3
3507e00000-3507e54000 r-xp 00000000 08:02 549597                         
/usr/lib64/libssl.so.1.0.0d
3507e54000-3508053000 ---p 00054000 08:02 549597                         
/usr/lib64/libssl.so.1.0.0d
3508053000-350805b000 rw-p 00053000 08:02 549597                         
/usr/lib64/libssl.so.1.0.0d
3529600000-352961e000 r-xp 00000000 08:02 532076                         
/lib64/ld-2.12.2.so
352981d000-352981e000 r--p 0001d000 08:02 532076                         
/lib64/ld-2.12.2.so
352981e000-352981f000 rw-p 0001e000 08:02 532076                         
/lib64/ld-2.12.2.so
352981f000-3529820000 rw-p 00000000 00:00 0 
3529a00000-3529b74000 r-xp 00000000 08:02 540925                         
/lib64/libc-2.12.2.so
3529b74000-3529d74000 ---p 00174000 08:02 540925                         
/lib64/libc-2.12.2.so
3529d74000-3529d78000 r--p 00174000 08:02 540925                         
/lib64/libc-2.12.2.so
3529d78000-3529d79000 rw-p 00178000 08:02 540925                         
/lib64/libc-2.12.2.so
3529d79000-3529d7e000 rw-p 00000000 00:00 0 
352a200000-352a202000 r-xp 00000000 08:02 540838                         
/lib64/libdl-2.12.2.so
352a202000-352a402000 ---p 00002000 08:02 540838                         
/lib64/libdl-2.12.2.so
352a402000-352a403000 r--p 00002000 08:02 540838                         
/lib64/libdl-2.12.2.so
352a403000-352a404000 rw-p 00003000 08:02 540838                         
/lib64/libdl-2.12.2.so
352a600000-352a617000 r-xp 00000000 08:02 541038                         
/lib64/libpthread-2.12.2.so
352a617000-352a816000 ---p 00017000 08:02 541038                         
/lib64/libpthread-2.12.2.so
352a816000-352a817000 r--p 00016000 08:02 541038                         
/lib64/libpthread-2.12.2.so
352a817000-352a818000 rw-p 00017000 08:02 541038                         
/lib64/libpthread-2.12.2.so
352a818000-352a81c000 rw-p 00000000 00:00 0 
352aa00000-352aa15000 r-xp 00000000 08:02 552060                         
/lib64/libz.so.1.2.3
352aa15000-352ac14000 ---p 00015000 08:02 552060                         
/lib64/libz.so.1.2.3
352ac14000-352ac15000 rw-p 00014000 08:02 552060                         
/lib64/libz.so.1.2.3
352b200000-352b21d000 r-xp 00000000 08:02 577871                         
/lib64/libselinux.so.1
352b21d000-352b41c000 ---p 0001d000 08:02 577871                         
/lib64/libselinux.so.1
352b41c000-352b41d000 r--p 0001c000 08:02 577871                         
/lib64/libselinux.so.1
352b41d000-352b41e000 rw-p 0001d000 08:02 577871                         
/lib64/libselinux.so.1
352b41e000-352b41f000 rw-p 00000000 00:00 0 
352ba00000-352ba16000 r-xp 00000000 08:02 577159                         
/lib64/libresolv-2.12.2.so
352ba16000-352bc15000 ---p 00016000 08:02 577159                         
/lib64/libresolv-2.12.2.so
352bc15000-352bc16000 r--p 00015000 08:02 577159                         
/lib64/libresolv-2.12.2.so
352bc16000-352bc17000 rw-p 00016000 08:02 577159                         
/lib64/libresolv-2.12.2.so
352bc17000-352bc19000 rw-p 00000000 00:00 0 
3531a00000-3531a03000 r-xp 00000000 08:02 578265                         
/lib64/libcom_err.so.2.1
3531a03000-3531c02000 ---p 00003000 08:02 578265                         
/lib64/libcom_err.so.2.1
3531c02000-3531c03000 rw-p 00002000 08:02 578265                         
/lib64/libcom_err.so.2.1
3533200000-3533202000 r-xp 00000000 08:02 571254                         
/lib64/libkeyutils-1.2.so
3533202000-3533401000 ---p 00002000 08:02 571254                         
/lib64/libkeyutils-1.2.so
3533401000-3533402000 rw-p 00001000 08:02 571254                         
/lib64/libkeyutils-1.2.so
3537600000-3537624000 r-xp 00000000 08:02 562908                         
/lib64/libtinfo.so.5.7
3537624000-3537823000 ---p 00024000 08:02 562908                         
/lib64/libtinfo.so.5.7
3537823000-3537828000 rw-p 00023000 08:02 562908                         
/lib64/libtinfo.so.5.7
3537a00000-3537a72000 r-xp 00000000 08:02 578281                         
/lib64/libgcrypt.so.11.5.3
3537a72000-3537c71000 ---p 00072000 08:02 578281                         
/lib64/libgcrypt.so.11.5.3
3537c71000-3537c75000 rw-p 00071000 08:02 578281                         
/lib64/libgcrypt.so.11.5.3
3539400000-3539410000 r-xp 00000000 08:02 578278                         
/usr/lib64/libtasn1.so.3.1.7
3539410000-3539610000 ---p 00010000 08:02 578278                         
/usr/lib64/libtasn1.so.3.1.7
3539610000-3539611000 rw-p 00010000 08:02 578278                         
/usr/lib64/libtasn1.so.3.1.7
3539c00000-3539c9b000 r-xp 00000000 08:02 578287                         
/usr/lib64/libgnutls.so.26.14.12
3539c9b000-3539e9a000 ---p 0009b000 08:02 578287                         
/usr/lib64/libgnutls.so.26.14.12
3539e9a000-3539ea1000 rw-p 0009a000 08:02 578287                         
/usr/lib64/libgnutls.so.26.14.12
353ac00000-353ac22000 r-xp 00000000 08:02 539124                         
/lib64/libncurses.so.5.7
353ac22000-353ae22000 ---p 00022000 08:02 539124                         
/lib64/libncurses.so.5.7
353ae22000-353ae23000 rw-p 00022000 08:02 539124                         
/lib64/libncurses.so.5.7
353ce00000-353ce03000 r-xp 00000000 08:02 578280                         
/lib64/libgpg-error.so.0.5.0
353ce03000-353d002000 ---p 00003000 08:02 578280                         
/lib64/libgpg-error.so.0.5.0
353d002000-353d003000 rw-p 00002000 08:02 578280                         
/lib64/libgpg-error.so.0.5.0
353d200000-353d224000 r-xp 00000000 08:02 550992                         
/usr/lib64/libjpeg.so.62.0.0
353d224000-353d423000 ---p 00024000 08:02 550992                         
/usr/lib64/libjpeg.so.62.0.0
353d423000-353d424000 rw-p 00023000 08:02 550992                         
/usr/lib64/libjpeg.so.62.0.0
3a78400000-3a78571000 r-xp 00000000 08:02 537665                         
/lib64/libcrypto.so.1.0.0d
3a78571000-3a78770000 ---p 00171000 08:02 537665                         
/lib64/libcrypto.so.1.0.0d
3a78770000-3a78792000 rw-p 00170000 08:02 537665                         
/lib64/libcrypto.so.1.0.0d
3a78792000-3a78796000 rw-p 00000000 00:00 0 
7f596b333000-7f596b337000 rw-p 00000000 00:00 0 
7f596b442000-7f596b44b000 rw-p 00000000 00:00 0 
7f596b44b000-7f596b470000 r-xp 00000000 08:02 537132                     
/usr/local/lib/libgadu.so.3.13.0
7f596b470000-7f596b670000 ---p 00025000 08:02 537132                     
/usr/local/lib/libgadu.so.3.13.0
7f596b670000-7f596b671000 rw-p 00025000 08:02 537132                     
/usr/local/lib/libgadu.so.3.13.0
7f596b671000-7f596b673000 rw-p 00000000 00:00 0 
7f596b69a000-7f596b69b000 rw-p 00000000 00:00 0 
7fffd946b000-7fffd948c000 rw-p 00000000 00:00 0                          [stack]
7fffd94cb000-7fffd94cc000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  
[vsyscall]

Odpowiedź listem elektroniczym