rosnący mem usage Opery

w dziale Opera
migawka napisał(a):

witam,
szukalem na forum podobnego tematu, ale nie znalazlem.
w Windows Task Manager w zakladce Processes mozna sprawdzic jaki jest poziom 'mem usage' dla danego procesu/aplikacji. poniewaz stosuję hibernacje (a nie turn off), kiedy koncze korzystac z komputera, ta sama sesja Opery pozostaje otwarta czasami przez wiele dni. zauwazylem, ze poziom uzywanych przez Opere zasobow pamieci RAM rosnie, wraz z czasem. po otwarciu nowej sesji (kilka zakladek) jest to ok. 100MB (czasami mniej), a pozniej puchnie: 180MB, potem 200MB, przy 220MB decyduje sie zamknac Opere i ponownie uruchomic.
w czasie pracy otwieram i zamykam rozne strony, a ilosc otwartych stron pozostaje mniej wiecej na tym samym poziomie. probowalem oprozniac kosz z zamknietymi stronami, ale nie ma to wplywu na 'pozeranie' pamieci przez Opere.
czy ktos wie czy temu mozna zaradzic?

Opera 9.21, Win XP Pro (SP2)

Zajec napisał(a):

1) Upewnij się, że to Opera a nie jakiś plugin (wtyczka) powoduje te wycieki. Jak? Po prostu pod F12 wyłącz na chwilę pluginy, sprawdź użycie pamięci, poserfuj trochę i sprawdź ponownie.

2) Inspector pozwala na rejestrację freezów Opery. Idę zapytać czy można także memory leaks rejestrować.

P.S.
O, już znalazłem: http://people.opera.com/axel/memguard.htm . Można tym zarejestrować crash i zgłosić jako bug Operze.

migawka napisał(a):

Originally posted by Zajec:

1) Upewnij się, że to [...]
2) Inspector pozwala na [...]
P.S.
O, już znalazłem: http://people.opera.com/axel/memguard.htm . Można tym zarejestrować crash i zgłosić jako bug Operze.


ad 1. sprawdzilem, bez zmian. przy wlaczonych wtyczkach jest wzrost zuzycia pamieci na stronach z flashem, ok 10MB, ale po zamknieciu strony spada.
ad 2. nie potrzebuje MemGuarda, potrzebuje metody na unikniecie 'puchniecia' Opery

jeszcze nt: zauwazylem ze mem usage Opery nie tylko rosnie, czasami spada. dzis mialem raz 300MB, teraz pod wierczor spadlo do 280MB.

Zajec napisał(a):

Originally posted by migawka:

ad 2. nie potrzebuje MemGuarda, potrzebuje metody na unikniecie 'puchniecia' Opery


W takim razie musisz uzbroić się w cierpliwość, może kiedyś developerzy sami zauważą przyczynę puchnięcia. Nie pomagając nie zwiększasz niestety tej szansy.

migawka napisał(a):

nie wiem co robi ten program. z powodow bezpieczenstwa staram sie nie instalowac softu, ktorego do konca nie znam.

username007 napisał(a):

Originally posted by migawka:

nie wiem co robi ten program. z powodow bezpieczenstwa staram sie nie instalowac softu, ktorego do konca nie znam.


A w jaki sposób poznać program nie instalując go? :>

migawka napisał(a):

hehe, smieszne. sam pakuj sobie na komputer soft z "niepublicznego" zrodla, takie jak np. fora dyskusyjne.

migawka napisał(a):

jakies pomysly?

krzychoocpp napisał(a):

Originally posted by migawka:

hehe, smieszne. sam pakuj sobie na komputer soft z "niepublicznego" zrodla, takie jak np. fora dyskusyjne.


Jest tam kod źródłowy tego programu, możesz go przeanalizować i skompilować.

Poza tym:

Originally posted by migawka:

Win XP Pro (SP2)


Nie boisz się używać programu, którego kodu nikt niezależny od twórców nie przeanalizował i nie ma pewności czy nie wysyła on czegoś w przestrzeń podczas pracy ?

migawka napisał(a):

Originally posted by krzychoocpp:

Jest tam kod źródłowy tego programu, możesz go przeanalizować i skompilować.


tak, ale ja tu przyszedlem po porade czy mozna uniknac puchniecia Opery, a nie analizowac kod programu.

Originally posted by krzychoocpp:

Originally posted by migawka:

Win XP Pro (SP2)


Nie boisz się używać programu, którego kodu nikt niezależny od twórców nie przeanalizował i nie ma pewności czy nie wysyła on czegoś w przestrzeń podczas pracy ?


no tak slusznie... :( ale co poradze? musze miec na tyle zaufania, zeby jednak z tego korzystac

Zajec napisał(a):

Originally posted by migawka:

tak, ale ja tu przyszedlem po porade czy mozna uniknac puchniecia Opery, a nie analizowac kod programu.

W takim razie moja odpowiedź jest aktualna.

Originally posted by Zajec:

W takim razie musisz uzbroić się w cierpliwość, może kiedyś developerzy sami zauważą przyczynę puchnięcia.





Originally posted by migawka:

Originally posted by krzychoocpp:

Originally posted by migawka:

Win XP Pro (SP2)


Nie boisz się używać programu, którego kodu nikt niezależny od twórców nie przeanalizował i nie ma pewności czy nie wysyła on czegoś w przestrzeń podczas pracy ?


no tak slusznie... sad ale co poradze? musze miec na tyle zaufania, zeby jednak z tego korzystac

http://kernel.org/ sprawdzasz kod i wystarczy że sobie ufasz :-)

migawka napisał(a):

o, najlepszym przykladem na 'zżeranie pamieci' przez Opere bedzie to ze zamykana sesja (kilka otwartych zakladek) ma 300MB, a dokladnie ta sama otwarta po chwili, 128 MB

Zajec napisał(a):

Originally posted by migawka:

o, najlepszym przykladem na 'zżeranie pamieci' przez Opere bedzie to ze zamykana sesja (kilka otwartych zakladek) ma 300MB, a dokladnie ta sama otwarta po chwili, 128 MB


Naprawdę, rozumiemy na czym polega puchnięcie Opery. Prawdopodobnie jakiś memory leak mały i po dłuższym czasie tej niezwalnianej pamięci się trochę gromadzi. Nie przybliża nas jednak rozumienie problemu do jego rozwiązania. Zająć się tym mogą tylko programiści, a oni musieliby wiedzieć, gdzie szukać. "Koło" się zamyka.

golew napisał(a):

A powiedzcie mi w jaki cudowny sposób działa zminimalizowanie okna Opery? Sesja, która ma np. 79MB po zminimalizowaniu ma np. 7MB, a po zmaksymalizowaniu ok. 15-20MB. Wartosci przykłądowe, ale mniej więcej tak to u mnie wygląda - minimalizowanie i maksymalizowanie z powrotem cudownie zmniejsza ilość zajmowanego RAMu.

voksadasderpl napisał(a):

Warto dać maksymalną liczbę ramu w preferencjach i robić co jakiś czas minimalizację okno, bo wtedy opera wywala część rzeczy z pamięci

zawadaki napisał(a):

Originally posted by golew:

A powiedzcie mi w jaki cudowny sposób działa zminimalizowanie okna Opery? Sesja, która ma np. 79MB po zminimalizowaniu ma np. 7MB, a po zmaksymalizowaniu ok. 15-20MB. Wartosci przykłądowe, ale mniej więcej tak to u mnie wygląda - minimalizowanie i maksymalizowanie z powrotem cudownie zmniejsza ilość zajmowanego RAMu.


podczas minimalizowania dane nie konieczne do podtrzymania procesu są przenoszone do pliku stron pamięci na dysku (plik: pagefile.sys), w momencie przywrócenia okna programu z pliku stron pamięci do RAM przenoszone są tylko te dane które konieczne są do działania opery i wyświetlenia jednej bieżącej karty, z biegiem czasu zużycie powinno powrócić do pierwotnej wartości z przed zminimalizowania lub będzie niewiele mniejsze

czynności te są wykonywane przez system nie przez opere

daroc napisał(a):

I ma to związek z ustawieniem w systemie opcji "unload dlls automaticaly" (w wielu tweakerach).

zawadaki napisał(a):

Originally posted by daroc:

I ma to związek z ustawieniem w systemie opcji "unload dlls automaticaly" (w wielu tweakerach).


nie do końca, ta opcja ma głównie wpływ na zachowanie systemu po zakończeniu procesu i kwestii co zrobić i jak szybko z powiązanymi tym procesem bibliotekami np: .dll, czy je usunąc z pamięci czy nie domyślnie system je zachowuje bo taki jest charakter bibliotek .dll może z nich korzystać każdy proces, ale często leżą nie używane w pamięci ta opcja nakazuje usunąc je natychmiast, również ze stron pamięci znajdujących się na dysku w pliku

migawka napisał(a):

Originally posted by daroc:

"unload dlls automaticaly" (w wielu tweakerach).


czytalem na stronie Microsoftu ze poczawszy od Win 2000, MS nie supportuje tego rozwiazania. podobno zostalo zaimplementowane na stale do systemu

zawadaki napisał(a):

Originally posted by migawka:

Originally posted by daroc:

"unload dlls automaticaly" (w wielu tweakerach).


czytalem na stronie Microsoftu ze poczawszy od Win 2000, MS nie supportuje tego rozwiazania. podobno zostalo zaimplementowane na stale do systemu


gdyby tak było, to nie było by juz klucza w rejestrze a nadal jest wink

JaDo napisał(a):

Originally posted by migawka:

Originally posted by daroc:

"unload dlls automaticaly" (w wielu tweakerach).


czytalem na stronie Microsoftu ze poczawszy od Win 2000, MS nie supportuje tego rozwiazania. podobno zostalo zaimplementowane na stale do systemu


Podobno? Jak zmienię tutaj...
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer]
"AlwaysUnloadDLL"=dword:00000001

...dword na 00000000 to będzie tak samo? Jak to wyczaić, czy to działa bądź nie? Tego tweaka stosuje od XP SP0 (zero) bigsmile .

zawadaki napisał(a):

znalazłem coś takiego w MSDN:

Unloading the DLL

The Shell automatically unloads a DLL when its usage count is zero, but only after the DLL has not been used for a period of time. This inactive period might be unacceptably long at times, especially when a Shell extension DLL is being debugged. For operating systems prior to Windows 2000, you can shorten the inactive period by adding the following information to the registry.

HKEY_LOCAL_MACHINE -> Software -> Microsoft -> Windows -> CurrentVersion -> Explorer -> AlwaysUnloadDll

golew napisał(a):

Czy jest w Linuksie (Suse) narzędzie podobne do Windowsowego menedżera zadań (Ctrl+Alt+Delete) gdzie byłoby ładnie widać ile Opera zajmuje w pamięci?

zawadaki napisał(a):

Originally posted by golew:

Czy jest w Linuksie (Suse) narzędzie podobne do Windowsowego menedżera zadań (Ctrl+Alt+Delete) gdzie byłoby ładnie widać ile Opera zajmuje w pamięci?



graficzny jest, np: dodany do GNOME albo do KDE monitor systemu

JaDo napisał(a):

Originally posted by golew:

narzędzie podobne do Windowsowego menedżera zadań (Ctrl+Alt+Delete) gdzie byłoby ładnie widać ile Opera zajmuje w pamięci?


Trochę lepszy jest STARTER , pokazuje również, jakie konkretne biblioteki współpracują aktualnie z danym programem.

Sprzed chwili - co się "przykleiło" do mojej Opery smile
dll.txt

daroc napisał(a):

Skoro padło już takie pytanie, to chciałbym zapytać co dokładnie pokazują odpowiednie kolumny w programie Process Explorer:
Private Bytes
Working Set Size
Virtual Size

I dla DLLów:
Mapped Size
Memory Mapped

I co to dokładnie jest Commit Charge?

I jeszcze w informacjach mam w physical memory: System Cache - cóż to?

Jeśli ktoś by jeszcze tak dodatkowo wiedział co to Kernel Memory? bigsmile

skolman napisał(a):

Originally posted by zawadaki:

podczas minimalizowania dane nie konieczne do podtrzymania procesu są przenoszone do pliku stron pamięci na dysku (plik: pagefile.sys), w momencie przywrócenia okna programu z pliku stron pamięci do RAM przenoszone są tylko te dane które konieczne są do działania opery i wyświetlenia jednej bieżącej karty, z biegiem czasu zużycie powinno powrócić do pierwotnej wartości z przed zminimalizowania lub będzie niewiele mniejsze


jednak taki prosty zabieg dziala niezle. zuzycie pamieci nie wraca szybko do poprzedniego poziomu.

golew napisał(a):

Originally posted by skolman:

jednak taki prosty zabieg dziala niezle. zuzycie pamieci nie wraca szybko do poprzedniego poziomu.


Zależy jeszcze co się robiło wink ale np. wyłączenie strony z apletem Javy bądź jakimś Flashem nie powoduje zwolnienia pamięci od razu zbyt wielkiego, dopiero zminimalizowanie Opery daje smile

skolman napisał(a):

Originally posted by golew:

Zależy jeszcze co się robiło


oczywiscie, jednak zminimalizowanie okna opery zuzywa malo moich zasobow a daje spore efekty wink

nunio napisał(a):

Originally posted by golew:

dopiero zminimalizowanie Opery daje



Ta... Baju, baju. wink
Dodaj sobie do widoku menedzera zadan kolumne "Rozmiar pamieci wirtualnej" (menu "Widok" > "Wybierz kolumny") i powiedz, ile tam, po minimalizacji, pamieci uzywanej przez Opere ubylo. Czy tez przybylo...

skolman napisał(a):

Originally posted by nunio:

Dodaj sobie do widoku menedzera zadan kolumne "Rozmiar pamieci wirtualnej" (menu "Widok" > "Wybierz kolumny") i powiedz, ile tam, po minimalizacji, pamieci uzywanej przez Opere ubylo.


od tego mam dysk 250gb wink

migawka napisał(a):

Originally posted by nunio:

Originally posted by golew:

dopiero zminimalizowanie Opery daje


Ta... Baju, baju. ;)
Dodaj sobie do widoku menedzera zadan kolumne "Rozmiar pamieci wirtualnej" (menu "Widok" > "Wybierz kolumny") i powiedz, ile tam, po minimalizacji, pamieci uzywanej przez Opere ubylo. Czy tez przybylo...


VM Size? nie. mialem 330MB, po minimalizacji tyle samo. mem usage z 250MB spadlo, a potem powrot do ok. 211MB. średnia ta metoda, ale cos daje.

Zajec napisał(a):

Originally posted by golew:

Czy jest w Linuksie (Suse) narzędzie podobne do Windowsowego menedżera zadań (Ctrl+Alt+Delete) gdzie byłoby ładnie widać ile Opera zajmuje w pamięci?


Dla KDE: CTRL+ESC (odpali się program ksysguard)

golew napisał(a):

Ale drażni mnie że jak sobie zwężę jakąś kolumnę to za sekundę jest ona z powrotem rozwalona wink

Zajec napisał(a):

Originally posted by golew:

Ale drażni mnie że jak sobie zwężę jakąś kolumnę to za sekundę jest ona z powrotem rozwalona wink


Proszę bardzo: https://bugzilla.novell.com/show_bug.cgi?id=287806 :-)