Sada je: 05 svi 2024, 15:31.
Razmjena savjeta i trikova o podešavanju sustava i programa.

Moderator/ica: Moderatori/ce

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?
A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'
Avatar
Moderator
Postovi: 4060
Moderator
Postovi: 4060
Pridružen/a: 15 svi 2008, 18:05
Lokacija: Hamburg, DE
Podijelio/la zahvalu: 111 puta
Primio/la zahvalu: 183 puta
Spol: M
OS: Fedora/KDE
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
Slamd64
Slamd64
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 :)
A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'
Avatar
Moderator
Postovi: 4060
Moderator
Postovi: 4060
Pridružen/a: 15 svi 2008, 18:05
Lokacija: Hamburg, DE
Podijelio/la zahvalu: 111 puta
Primio/la zahvalu: 183 puta
Spol: M
OS: Fedora/KDE
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.
Postovi: 290
Postovi: 290
Pridružen/a: 13 ožu 2012, 20:14
Podijelio/la zahvalu: 0 puta
Primio/la zahvalu: 0 puta
4ndY, veliš da je isto i sa razorom, dal sa KWinom ili openboxom? Probal drugi graphicssystem?
Listen, I gotta fight the lion. That's what that guy Scott's all about. I know. I've studied him already.
Avatar
Moderator
Postovi: 1779
Moderator
Postovi: 1779
Pridružen/a: 10 ruj 2010, 11:20
Podijelio/la zahvalu: 9 puta
Primio/la zahvalu: 92 puta
Spol: M
OS: openSUSE Factory KDE
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:
Kod: Označi sve
ps ax | grep /usr/bin/X

i onda otvorim u editoru:
Kod: Označi sve
vim /proc/836/smaps

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 :D
A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'
Avatar
Moderator
Postovi: 4060
Moderator
Postovi: 4060
Pridružen/a: 15 svi 2008, 18:05
Lokacija: Hamburg, DE
Podijelio/la zahvalu: 111 puta
Primio/la zahvalu: 183 puta
Spol: M
OS: Fedora/KDE
4ndY je napisao/la:i onda otvorim u editoru:
Kod: Označi sve
vim /proc/836/smaps


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 :D

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...
Postovi: 290
Postovi: 290
Pridružen/a: 13 ožu 2012, 20:14
Podijelio/la zahvalu: 0 puta
Primio/la zahvalu: 0 puta
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
Slamd64
Slamd64
@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.
When you're a kid and you wanna go "Weee !", but you ain't got drugs yet ... You hold out for your life, hold on to your little GONADS ... and STRIFE.
Avatar
Postovi: 910
Postovi: 910
Pridružen/a: 12 svi 2010, 07:57
Podijelio/la zahvalu: 0 puta
Primio/la zahvalu: 13 puta
OS: linux
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 :D


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. :mrgreen:

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...
A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'
Avatar
Moderator
Postovi: 4060
Moderator
Postovi: 4060
Pridružen/a: 15 svi 2008, 18:05
Lokacija: Hamburg, DE
Podijelio/la zahvalu: 111 puta
Primio/la zahvalu: 183 puta
Spol: M
OS: Fedora/KDE

Na mreži
Trenutno korisnika/ca: / i 6 gostiju.