Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-07-17 13:41:20

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Przerzucanie danych ze swap do ramu przy zamykaniu appsa

Nie wiem czy to jest standardowe zachowanie bo nigdy nie zwracałem na to uwagi ale ostatnio ten ficzer mnie trochę zaczął irytować. Chodzi o to, że mając niewiele ramu (1GiB), podczas biegania po necie swap zaczyna się strasznie rozrastać i po 1-2h pracy, opera w ramie zajmuje 600MiB i w swapie drugie tyle i zamyka się parę minut bo z tego co zauważyłem, to najpierw przerzuca dane ze swap do ramu, a że ramu jest zajęte już 90% to transfer spada do paru mb/s albo i jeszcze niżej i w efekcie przeniesienie 600 MiB danych trwa tyle ile trwa.

Np. ciekawe doświadczenie można zrobić -- wyłączyć swap mając dane w ram + swap > niż pamięci ram. Czyli u mnie to by było (dla uproszczenia) 600 MiB ram + 600 MiB swap = 1,2 GiB przy dostępnym 1 GiB ramu. I system zacznie przenosić dane z swap do ram i przy 900 MiB w ramie zacznie zrzucać dane w ram do swap i się to zapętli. xD i mam wrażenie, ze takie coś występuje właśnie w przypadku opery, z tą różnicą, że w czasie przenoszenia danych ze swap do ramu, część z nich (parę MiB/s) zostaje wyrzucona z ramu, robiąc tym przestrzeń na dodatkowe KiB, które mozna przenieść ze swap . Czyli opera przez cały ten proces zamykania się  zajmuje mniej więcej tyle samo pamięci w ramie i tylko dorzuca trochę MiB ze swap, które są natychmiast usuwane z ramu. Dopiero jak dane zostaną usunięte ze swap (nie wiem czy wszystkie, czy tylko jakaś część, np. < niż wolne miejsce w ram, czyli jakieś 100 MiB), opera się zamyka.

Na obecną chwilę mam wyłączone cgroup, bo myślałem, że to jego wina. To było bardzo dobrze widoczne gdy ograniczyłem zasoby operze dość znacznie i w ramie miałem jeszcze sporo przestrzeni. I gdy w czasie zamykania opery wyłączyłem cgroup, ram zaczął się zapełniać i w efekcie opera zamknęła się sporo szybciej.

Czy powinno być tak, że pierw dane ze swap są przerzucane do ramu przy zamykaniu appsa? I czy jest jakiś sposób by system tego nie robił -- inny niż killall -9 . xD

Próbowałem operować na /etc/sysctl.conf dopisując tam różne wartości dla:

Kod:

#vm.swappiness=10
#vm.vfs_cache_pressure=50

ale to za bardzo nic nie dało albo dało ale ja nie wiem co. xD W każdym razie na razie zakomentowałem oba parametry.

Offline

 

#2  2013-07-19 01:23:10

  rychu - elektryk dyżurny

rychu
elektryk dyżurny
Skąd: gdańsk/kalmar
Zarejestrowany: 2004-12-28

Re: Przerzucanie danych ze swap do ramu przy zamykaniu appsa

tego nie obejdziesz. system musi wyswapować te dane do ramu i kropka, bo programu nie obchodzi, czy dane są na swapie czy nie.

mam nadzieje, że nie swapujesz do pliku? może spróbuj zwiększyć partycję swapową (np. o 100%) i przesuń ją jak najbliżej początku dysku (podobno najszybszy dostęp).


linux regd. user #248790

Offline

 

#3  2013-07-19 09:50:24

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Przerzucanie danych ze swap do ramu przy zamykaniu appsa

Ale jeśli by nie obchodziło, to po zamknięciu by przecie czyścił dane od razu (tak jak killall -9), no może trochę wolniej, np by zapisać sesje, której komponenty mogą być w swap i dostęp do nich będzie wolniejszy ale przy takim założeniu nie powinien przerzucać

Mam partycje swap. W przypadku opróżniania swap gdy mam miejsce w ram, cały proces przebiega dość szybko. Tutaj problem zaczyna się gdy system uznaje, że w ramie jest za dużo danych i trzeba zrzucić do swap, a te z kolei trzeba znów przerzucić do ram i tak se przerzuca. xD

Co ciekawe, próbowałem doprowadzić do takiej sytuacji z ff ale on nawet przy otworzeniu 50 kart zjada sporo mniej ramu niż opera przy 20. I co ciekawe co chwila jakieś dane z ram wywala, pewnie te nieaktywne karty. Da się tak zrobić z operą?

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)