Apetyt KDE 4.4 - To ile w końcu ?

14 lut 2010
Author Avatar Godzina : 20:52 Komentarzy : 15 Odsłon : 2471
QR Code

Wraz z premierą KDE 4.4 ponownie rozgorzała dysksuja o jego pamięciożerności. Pobocznym torem znów pobiegły argumenty wyższości Gnome nad KDE i na odwrót. Również na Osnews.pl była ostra dyskusja - jedni głosili że nowe KDE pożera 50MB ... inni że 500MB. Kto miał rację? Otóż nikt. Z tego co zauważyłem posługiwano się wynalazkami typu htop lub ksysguard - prawda jest jednak bolesna, gdyż żaden z tych programów nie jest w stanie dokładnie spełnić roli, jaką jest precyzyjne oszacowanie wykorzstania pamięci. Natomiast karygodne jest opieranie się na wynikach KSysGuarda.

Exmap - o co kaman ?

Exmap to program, który pozwala dokładnie określić wykorzystanie pamięci fizycznej oraz wirtualnej przez każdy z uruchomionych procesów z osobna. Wyniki przedstawiane przez te narzędzie zestawiane jest w kliku wariantach :

  • Mapped - całkowity rozmiar wykorzystywanej pamięci przez dany proces. Zliczana jest zajmowana pamięć RAM jak i SWAP. Najeży mieć jednak świadomość, że biblioteki nie podlegają umieszczaniu w pamięci wirtualnej. Ta wartość uwzględnia również pamięć współdzieloną (shared memory)
  • Resident - podobnie jak wartość wskazywana przez Mapped, jednak dotyczy wyłącznie pamięci RAM (bez swapa).
  • Sole Mapped - podobnie jak w przypadku Mapped, ale zawiera wyłącznie pamięć aktualnie wykorzystywaną przez konkretny proces. Przykładowo, jeśli proces używa biblioteki współdzielonej, wtedy inny proces nie może jej użyć w tym samym momencie.
  • Effective Mapped / Effective Resident - efektywne wartości wykorzystania pamięci. W praktyce najdokładniej określają jak dużo pamięci wykorzystuje dany proces. Wynik jest dostosowany do zasad współdzielenia pamięci przez kilka procesów, gdzie konkretna wartość jest podzielona przez ilość procesów z niej korzystających.  Przykładowo, jeśli 10 procesów korzysta z biblioteki, która zajmuje 10 MB w pamięci, wtedy obszar nie jest zliczany dziesięciokrotnie,  lecz jako 1 MB wartości efektywnej.

Co testujemy ?

Testowi poddane jest KDE 4.4 z włączonym Composite i efektami KWin. Żeby wybrać złoty środek, został uruchomiony serwer Akonadi ( argument kastracji wyników przy celowym jego wyłączeniu ) i kilka programów : Konsole, Konqueror, Okular, Dolphin, Kadu oraz podstawowe usługi.

Wyniki

Na początek wyniki dla samego systemu bez KDE 4.4

oraz dla samego KDE 4.4

Gdzie leży prawda ? Jak zwykle po środku. KDE 4.4 w podstawowej konfiguracji zajmuje około 220 MB. Jak to się ma do Gnome lub XFCE ? Sprawdzimy wkrótce.

Update


Ile zatem pożera gołe KDE bezpośrednio po starcie? Odejmijmy zatem Kadu, Konsole, Okulara oraz Dolphina.  Wyjdzie wtedy około 145 MB.

Komentarze

User Avatar

Bananikus / 14 luty 2010 - 23:11

Sratatata. Chwalisz się dokładnymi programami, a niedokładnie mierzysz.

Co ma choćby takie kadu wspólnego z KDE? Co tak dużo tych kdeinitów? Stanowczo za dużo.
No i co tu robi konqueror, akonadi, okular, dolphin itd.?

Brakuje za to procesów nepomuka, knotify, kglobalaccel, kmix, klipper, ksmserver. To są standardowe procesy, które pojawiają się przy pierwszym uruchomieniu KDE z standardową konfiguracją.

Jak chcesz teraz to porównać do gnome lub xfce skoro dokładne odpowiedników tych programów raczej nie istnieją? Do tego brakuje wyżej wymienionych standarowych procesów. Jak porównywać to czyste środowiska, inaczej to zupełnie mija się z celem.

195.117.61.* / Linux x86_64 / Mozilla 1.9.2

User Avatar

Korneliusz / 14 luty 2010 - 23:21

aj tam stanowczo za dużo. kdeinity to właśnie te usługi, których rzekomo brakuje.

...
santyago 2627 0.0 0.6 102700 20424 ? Sl 19:11 0:01 kdeinit4: kded4 [kdeinit]
santyago 2659 0.0 0.5 97732 15984 ? Sl 19:11 0:00 kdeinit4: ksmserver [kdeinit]
santyago 2663 0.0 0.5 88928 16684 ? S 19:11 0:00 kdeinit4: kglobalaccel [kdeinit]
santyago 2667 0.2 1.3 277124 43492 ? S 19:11 0:34 kdeinit4: plasma-desktop [kdeinit]
santyago 2675 0.0 0.4 87880 15236 ? S 19:12 0:00 kdeinit4: kaccess [kdeinit]
santyago 2682 0.0 0.5 97596 18152 ? Sl 19:12 0:01 kdeinit4: kxkb [kdeinit]
santyago 2685 0.0 1.4 334704 43780 ? Sl 19:12 0:09 kdeinit4: krunner [kdeinit]
santyago 2693 0.0 0.7 250060 22932 ? S 19:12 0:01 kdeinit4: kmix [kdeinit] -session 10d7d5d3dd000126607847800000028120007_1266171030_479273
...

Linux / Mozilla Firefox 3.6

User Avatar

Ulises / 14 luty 2010 - 23:30

Bananikus no to dales dupy z tym kdeinit. Wyszlo szydlo z worka ile wiesz o KDE - podobnie jak na Osnews. Kdeinit wlasnie trzyma wszystkie te procesy, nopemuka, kmixa, plasme itp. Wiec co to za farmazony, ze duzo?

Bardzo dobrze, ze Korneliusz uruchomil przegladarke, menadzer plikow, czy tam okulara. Jaki sens ma pamieciozernosc golego i jalowego srododowiska. Moze w ogole wylaczyc plazme, kmix tez sie nie laduje przy pierwszym starcie. I co z tego wynikinie? Ile wazy gole biurko. To jak mierzyc FPSy w 320x200.

94.231.6.* / Linux / Mozilla Firefox 3.6

User Avatar

Korneliusz / 14 luty 2010 - 23:37

Bananikus - masz rację, że nie istnieją odpowiedniki. Nie tylko w kwestii typu programu, ale i funkcjonalności. Ale co z tego? Nie porównam wcale, bo taki XFCE nie ma plazmy? Porównam za to Thunara (Dolphin). Co robi akonadi ? Głupie pytanie strasznie, ale może dlatego że w tym wydaniu oficjalnie debiutuje.

No i kto powiedział, że porównanie będzie do powyżsych wyników ?

Linux / Mozilla Firefox 3.6

User Avatar

Bananikus / 14 luty 2010 - 23:40 Favour Comment

@Santyago: Skoro tak jest to zwaracam Honor.

@Ulises: Ty to oczywiście wiedziałeś? Nie jestem programistą KDE tylko użytkownikiem i raczej taka wiedza nie jest mi do niczego potrzebna.

No nie wiem czy dobrze. Oczywiście, że ma sens sprawdzanie pamięciożerności gołego środowiska. Gdy testujesz grę i porównujesz z inną tego typu to robisz to robisz to na czystej grze czy na grze z modami? Oczywiście, że na czystej. Mod do każdej gry jest inny, spełnia inną funkcję, jest bardziej rozbudowany lub mniej i pobiera różną ilość pamięci.

195.117.61.* / Linux x86_64 / Mozilla 1.9.2

User Avatar

Korneliusz / 14 luty 2010 - 23:45

I tak i nie - Dolphin ma przecież odpowiednika "funkcjonalnego" - Thunara bodajże, Gnome ma Nautilusa. Akonadi jest już częścią KDE bardziej niż kiedykolwiek. Zawsze znajdzie się jakiś odpowiednik. Nie da się niestety złapać wszystkich wspólnych części. Zapewniam jednak, że w ewentualnym teście zostaną odpalone domyślne usługi środowiska i programy które mają podobne przeznaczenie :)

@Ulises: Troszkę spokojniej proszę

Linux / Mozilla Firefox 3.6

User Avatar

Marian / 15 luty 2010 - 04:38

Przypadek, czy zainspirował cię wpis na KDE Developer's Journals?

83.6.229.* / Linux x86_64 / Mozilla 1.9.2

User Avatar

Korneliusz / 15 luty 2010 - 06:54

Hehe, przypadek. Ten test planowałem już parę dni temu : http://www.santyago.pl/blog/read/2010/02/11/kde-4-4-pierwsze-wrazenia.html (ostatni akapit)

Linux / Mozilla Firefox 3.6

User Avatar

Majki-Fajki / 15 luty 2010 - 15:22

Szanownemu autorowi winszuję wiedzy i umiejętności analitycznych, których mi brakuje.

Ja jestem autorem (jak się okazuje znanego) stwierdzenia, że "KDE pożera 500 mb na starcie". Tak, zżerało mi tyle w wersji 4.4 RC2. Potem było lepiej. Ale ciągle bardzo źle.

KDE szybko dochodzi do 500, 600 mb przy kilku prostych aplikacjach. Xorg "puchnie" okrutnie, przy uruchomionym Firefoksie bardzo.

Komp mi szybko wchodzi na SWAP (mam 1 GB i ustawione swapiness na 0). Nie wiem dlaczego tak jest, gdybym wiedział, to zapewne bym prowadził taki blog jak ten, na którym teraz piszę komentarz...

Ale z RAM nie jest za wesoło w KDE 4.4 moim skromnym zdaniem.

79.184.124.* / Linux / Safari 532.5

User Avatar

Marian / 15 luty 2010 - 19:30

@Korneliusz: To ciekawie się złożyło, można powiedzieć że tamten wpis potwierdza Twoje obserwacje.

Choć dla mnie bardziej interesujący jest fakt, że openSUSE, które ma opinię dystrybucji kobylastej, przeładowanej i zasobożernej, wcale nie odbiega od Slacka.

Oczywiście, nie można tego porównywać na poważnie, ale i tak wynik lekko zaskakujący.

83.6.244.* / Linux x86_64 / Mozilla 1.9.2

User Avatar

Kubeczek / 16 luty 2010 - 15:45

Warto wspomnieć czy mowa o systemie 64 bitowym czy 32 bitowym. O ile posiadam poprawną wiedzę 'pamięciożerność' jest różna zależnie od architektury.
Pozdrawiam.

83.21.52.* / Linux Ubuntu / Mozilla Firefox 3.6

User Avatar

matt / 17 luty 2010 - 17:57

@Kubeczek
Racja. Binarki pod x86_64 'ważą' więcej niż ich odpowiedniki pod x86, stąd zajmują więcej miejsca w pamięci. Nie są jednak to straszne różnice - nie powinny przekraczać 10%, a średnio oscylują zapewne około 5%.
Pozdrawiam.

83.20.94.* / Linux / Safari 532.4

User Avatar

irtomek / 17 luty 2010 - 22:31

A mnie zużycie RAM w kde 4.4 nie martwi. Mnie DENERWUJE jego spolszczenie. Jest właściwie tragicznie.

Zmieniłem na angielski.

83.27.178.* / Linux / Mozilla 1.9.2

User Avatar

bboozzoo / 17 luty 2010 - 23:37 Favour Comment

Niestety pojawily sie niescislosci dotyczace pamieci.
1. biblioteki wspoldzielone sa w pamieci wirtualnej, czyli sa zmapowane (obecne?) w przestrzeni adresowej procesu, wartosc 'mapped' powinna to pokazac (stad stwierdzenie: 'Najeży mieć jednak świadomość, że biblioteki nie podlegają umieszczaniu w pamięci wirtualnej.' jest niezrozumiale, moze chodzi o demand paging??)
2. resident size pokazuje jakie jest rzeczywiste zajecie pamieci przez proces; uwzglednia te obszary ktore rzeczywiscie istnieja w pamieci, np *.so nie musi byc cale zaladowane do RAMu, jedynie te kawalki (z granulacja rozmiaru strony) ktore sa potrzebne (tj. do ktorych nastapilo odwolanie, ktore to spowodowalo page fault i skutkowalo 'doladowaniem' odpowiedniej zawartosci pliku)
3. effective mapped/resident w postaci przyjetej przez exmap sa dyskusyjne, dzielenie na ilosc procesow nie ma sensu i tylko zamazuje obraz
4. z proponowanych wartosci, pozycja sole mapped wydaje sie najsensowniejsza; w luznej interpretacji oznacza to tyle co: ilosc pamieci ktora zostala zmapowana tylko na potrzeby tego procesu, np agetty z pierwszego zestawienia, sole mapped 84kb (to sa kb? nie jest to nigdznie napisane), mapped i resident 532kb; mozna wywnioskowac ze ok 450kb to glownie kawalki libc (lub podleglych libnss, libdl), ld.so, moze cos dodatkowego, pozostale 84kb to glownie text i dane agetty (jaki ma rozmiar sama binarka?); jakby spojrzec w /proc//maps, to znajdzie sie wiecej detali (rozmiar sterty, stosu itp)

91.193.84.* / Linux x86_64 / Safari 532.9

User Avatar

iria / 18 luty 2010 - 14:54

@irtomek

W którym miejscu? Jeśli jesteś buntownikiem, to chyba wiesz, że z jakiegoś powodu u was tłumaczenia są popsute.

83.7.77.* / Linux / Safari 533.1

Komentarze

Jeżeli się nie zalogujesz, przy Twoim komentarzu pokaże się adres IP.
Zanim skomentujesz, zapoznaj się z zasadami dodawania komentarzy.

Ostatnie 10 wpisów

Ostatnie 5 komentarzy

Facebook

Kategorie

Archiwum

Blogroll

Flag Counter

free counters