Stranica: 1/2.
Analiza memory leaka?
Postano: 26 stu 2012, 11:29
Postao/la 4ndY
Već se duže vrijeme borim s nekim opasnim
memory leakom i ne mogu detektirati točno što ga uzrokuje pa pitam za savjet...
Već sam pisao o tome
ovdje, no da ponovim
leak se manifestira tako da se napuni RAM i swap što ubije komp i ako uspijem ubit X-e mogu doć do konzole i pokupit neke podatke.
Curenje je vrlo vjerojatno posljedica kombinacije KDE-a, slobodnih radeon drivera i X-a jer:
a) na drugim hardveru problem se ne pojavljuje stoga vjerojatno nije samo do KDE-a (tad bi se već ljudi bunili da KDE ima univerzalni
leak);
b)
systemmonitor i
/proc prikazuje da se curenje dešava u
heapu X-a - dakle to može uzrokovati bilo koja grafička aplikacija ili sam X;
c) u drugim sučeljima (testirao sam Qt-Razor i xmonad i XFCE) problem se ne događa.
Spremio sam sliku RAM-a i swap-a kad se dogodilo curenje (
fmem+dd) pa me zanima kako sad tih 4+2GB analizirati, odnosno napraviti forenziku da nađem ikakav trag što dovodi do ovoga. Probao sam s hexeditom, ali nema smisla ručno hodati kroz 6GB podataka
Ima li tko kakvih ideja?
AW: Analiza memory leaka?
Postano: 26 stu 2012, 12:00
Postao/la Slamd64
Koji distro? Koliko RAM?
XFCE ti baš nije ama nikakvo mjerilo, jer u normalnim uslovima koristi manje od 200 MB RAM.
Razor-qt isto. Probaj unity pa vidi kako će se ponašati. Mjeri sa top i htop. Probaj s firefox i operom. Npr meni firefox uzima više resursa. Provjeri i CPU usage
Gesendet von meinem MT11i mit Tapatalk 2
Re: AW: Analiza memory leaka?
Postano: 26 stu 2012, 12:20
Postao/la 4ndY
Slamd64 je napisao/la:Koji distro? Koliko RAM?
XFCE ti baš nije ama nikakvo mjerilo, jer u normalnim uslovima koristi manje od 200 MB RAM.
Razor-qt isto. Probaj unity pa vidi kako će se ponašati. Mjeri sa top i htop. Probaj s firefox i operom. Npr meni firefox uzima više resursa. Provjeri i CPU usage
Gesendet von meinem MT11i mit Tapatalk 2
Fedora 17 / 64bit
Unity koliko znam nije dostupan u Fedori. Isprobavao sam i Gnome3 i mislim da nije bilo nikakvih problema.
Ima li neki razlog zašto bih koristio top, ako već koristim htop?
Da još nadodam: znači RAM je i dalje zauzet i to ne u obliku "cachea" (i po
htop-u i po
free-u) ukoliko ubijem gotovo sve procese i prebacim se na
init 1 (znači nema X-a, nema nikakvih drugih servisa, nema mreže). Dakle to se ne može pripisati većem zauzeću određenog procesa (tipa Firefoxu) već dijelu memorije koja je izgubila "skrbnika" odnosno ne zna se tko je odgovoran za nju i za njezino čišćenje što jest definicija
memory leaka 
Re: Analiza memory leaka?
Postano: 26 stu 2012, 16:51
Postao/la Netko
Kako si skuzio promocu /proc/-a da se curenje desava u heapu X-a? (pitam cisto informativno)
Pa ako kazes da se curenje desava u heapu X-a i nedesava se s intel driverima ni drugim grafickim suceljima onda je problem vjerojatno u X-u ili driverima...
Ja bi ovako nekako krenuo: nasao bi verziju KDE-a koja mi je zadnja radila bez problema i onda dalje radio git bissect da dodem do problematicnog commita, prijavio bug report KDEu sa svim tim informacijama i onda eventualno vidjeo koji dio X-ovog API-a KDE koristi i s tim je problematican i onda prijavio bug X devovima ili pustio da to ucine KDE devovi(posto ipak njihov software neradi kako su zamislili)...
Sto se tice analiziranja sadrzaja RAM-a tu ti nemogu bas pomoc, to mi se cini "ludo", tako rec ^_x.
Re: Analiza memory leaka?
Postano: 26 stu 2012, 18:26
Postao/la sumski
4ndY, veliš da je isto i sa razorom, dal sa KWinom ili openboxom? Probal drugi graphicssystem?
Re: Analiza memory leaka?
Postano: 26 stu 2012, 19:40
Postao/la 4ndY
sumski je napisao/la:4ndY, veliš da je isto i sa razorom, dal sa KWinom ili openboxom? Probal drugi graphicssystem?
Koristio sam Razor s OpenBoxom, ali bih mogao probati s KWinom i vidjeti mogu li reproducirati ponašanje. Problem je što se to ne događa tako često da bih mogao uočiti periodičnost - svašta radim na kompjuteru tokom tjedan dana (cijelo vrijeme je uključen) i onda se samo jedno jutro probudim i već čujem da rošta po HDD-u što znači da je popunio swap, odnosno da se problem ponovio. Jel do browsera,
Netko je napisao/la:Kako si skuzio promocu /proc/-a da se curenje desava u heapu X-a? (pitam cisto informativno)
Uhvatim PID procesa:
i onda otvorim u editoru:
te tražim heap (:/heap)
Kod: Označi sve
00ab8000-0f868000 rw-p 00000000 00:00 0 [heap]
Size: 243392 kB
Rss: 241784 kB
Pss: 241784 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 4 kB
Private_Dirty: 241780 kB
Referenced: 166792 kB
Anonymous: 241784 kB
AnonHugePages: 106496 kB
Swap: 1356 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Locked: 0 kB
Kod: Označi sve
Pa ako kazes da se curenje desava u heapu X-a i nedesava se s intel driverima ni drugim grafickim suceljima onda je problem vjerojatno u X-u ili driverima...
Vjerojatno, ali dalje od toga ne mogu suzit mogućnosti. Problem vjerojatno mogu riješiti promjenom grafičke, iako ne znam koja eksterna grafička radi bez problema sa slobodnim driverima osim integriranih Intelovih?
Ja bi ovako nekako krenuo: nasao bi verziju KDE-a koja mi je zadnja radila bez problema i onda dalje radio git bissect da dodem do problematicnog commita, prijavio bug report KDEu sa svim tim informacijama i onda eventualno vidjeo koji dio X-ovog API-a KDE koristi i s tim je problematican i onda prijavio bug X devovima ili pustio da to ucine KDE devovi(posto ipak njihov software neradi kako su zamislili)...
Nisam siguran jel to uopće do promjene KDE-u ili novih drivera/kernela. Možda je taj "feature" u KDE-u gotovo od početka, a novi kernel/driver je to počeo podržavati tek unazad godinu-dvije?
Teško da bih se sad mogao vraćati unazad sve te verzije - morao bih ih kompajlirat, a to mi je trenutno overkill.
Sto se tice analiziranja sadrzaja RAM-a tu ti nemogu bas pomoc, to mi se cini "ludo", tako rec ^_x.
Mislim da bih baš od tud mogao izvući neki koristan podatak koji bi me usmjerio dalje. Kad sustav radi s minimalnim brojem procesa i pokrenutih programa (kad bi mu inače potrošnja RAM-a bila čak ispod 100MB), ako ja imam preko 6GB (RAM+swap) zauzeća onda se mora unutra ponavljati neki obrazac koji je popunio taj RAM. Barem tako nalaže logika

Re: Analiza memory leaka?
Postano: 27 stu 2012, 00:10
Postao/la Netko
4ndY je napisao/la:
i onda otvorim u editoru:
Zahvaljujem na informaciji

.
4ndY je napisao/la:Problem vjerojatno mogu riješiti promjenom grafičke, iako ne znam koja eksterna grafička radi bez problema sa slobodnim driverima osim integriranih Intelovih?
To je vise workaround nego rijesenje problema, no ajd ^^. Da, neznam, nisam nes previse upucen u to podrucje al kolko ja znam kod eksternih grafickih jedino ATI ima neki "pristojan" open-source support...
4ndY je napisao/la:
Nisam siguran jel to uopće do promjene KDE-u ili novih drivera/kernela. Možda je taj "feature" u KDE-u gotovo od početka, a novi kernel/driver je to počeo podržavati tek unazad godinu-dvije?
Da, imas pravo to sam predvidio. No mislim da ako kernel/driver alocira memoriju da to nebi bilo u userlandu(heapu X-a)?
4ndY je napisao/la:
Teško da bih se sad mogao vraćati unazad sve te verzije - morao bih ih kompajlirat, a to mi je trenutno overkill.
Bacis na neki server da ti builda pakete pa ih samo instaliras na zeljeni sustav...
Neznam, nemam neki pametniji pristup od tog try-and-fail. Savjetovo bi ti da probas KDE smanjit za 2-3 version numbera pa vidjet ako ima kakve promjene. A mozda i X probat isto tako za 1-2 verzije.
4ndY je napisao/la:
Mislim da bih baš od tud mogao izvući neki koristan podatak koji bi me usmjerio dalje. Kad sustav radi s minimalnim brojem procesa i pokrenutih programa (kad bi mu inače potrošnja RAM-a bila čak ispod 100MB), ako ja imam preko 6GB (RAM+swap) zauzeća onda se mora unutra ponavljati neki obrazac koji je popunio taj RAM. Barem tako nalaže logika

Prijesvega, ja sam te shvatio da ti se to desava samo s KDE-om i to stalno i da ti je to doslo s nekom odredenom verzijom KDE-a...
Pa neznam, cini mi se da bis prvo morao stripat kernel land, pa vecinu aplikacija i onda tek gledat X ili nesto.
A i nemam pojma kako bis to ucitao na neko korisno mjesto...
AW: Analiza memory leaka?
Postano: 27 stu 2012, 00:30
Postao/la Slamd64
Isključi desktop efekte, ili prebaci na softverski rendering. Mada ne vjerujem da to ima veze.
@Netko Ati ima prilično očajne proprietary drivere, to će ti reći osim mene svaki ati-jev korisnik. S open source nemam problema.
Gesendet von meinem MT11i mit Tapatalk 2
Re: Analiza memory leaka?
Postano: 27 stu 2012, 11:45
Postao/la drade
@andY
Tesko ces tako prckajuci naci "memory leak" na sustavu.
Ono sto mozes je upogoniti alat kao sto je
valgrind.
Kod: Označi sve
valgrind -v --leak-check=yes --tool=memcheck --log-file=memtracer.log /putanja/do/app
Npr.
Kod: Označi sve
valgrind -v --leak-check=yes --tool=memcheck --log-file=memtracer.log /bin/tracepath google.com
Po zavrsetku bi trebao dobiti datoteku
memtracer.log unutar koje bi mogao saznati nesto vise.
Re: Analiza memory leaka?
Postano: 27 stu 2012, 12:09
Postao/la 4ndY
Netko je napisao/la:
To je vise workaround nego rijesenje problema, no ajd ^^. Da, neznam, nisam nes previse upucen u to podrucje al kolko ja znam kod eksternih grafickih jedino ATI ima neki "pristojan" open-source support...
Upravo zato i imam Radeonku (HD 3650) jer mi se ne da hrvat s vlasničkim driverima, no očito sam je baš upiko
Netko je napisao/la:
Bacis na neki server da ti builda pakete pa ih samo instaliras na zeljeni sustav...
Neznam, nemam neki pametniji pristup od tog try-and-fail. Savjetovo bi ti da probas KDE smanjit za 2-3 version numbera pa vidjet ako ima kakve promjene. A mozda i X probat isto tako za 1-2 verzije.
A možda ću i to probat... iako je pitanje moram li onda i Qt rebuildat jer ipak novije verzije KDE-a zahtjevaju noviji Qt, a noviji Qt novije X-e itd.
Netko je napisao/la:
Prijesvega, ja sam te shvatio da ti se to desava samo s KDE-om i to stalno i da ti je to doslo s nekom odredenom verzijom KDE-a...
Pa neznam, cini mi se da bis prvo morao stripat kernel land, pa vecinu aplikacija i onda tek gledat X ili nesto.
A i nemam pojma kako bis to ucitao na neko korisno mjesto...
Da, dešava se samo s KDE-om i može se reći da nije izolirani slučaj već se ponavlja (desilo mi se barem već 20-ak puta ako ne i više). Kad ulovim vremena malo ću još potražit po internetu kako se radi forenzika RAM/swap dumpa...