Portál AbcLinuxu, 13. května 2025 03:10

Dotaz: Lze nějak čelit výraznému snížení výkonu po odswapování?

26.8.2010 08:04 Ladislav Nešněra | skóre: 30 | blog: ..+2
Lze nějak čelit výraznému snížení výkonu po odswapování?
Přečteno: 577×
Odpovědět | Admin
Zdravím. Subjektivně mám dojem, že po odswapování se reakční časy (zejména spouštění aplikací, přepínání mezi běžícími) řádově prodlouží. Zejména se mi to děje po uspání do RAM. Lze s tím něco dělat, krom restartu?

V této souvislosti mě zaráží ještě dvě věci. Nikdy jsem neviděl, že by došlo ke snížení využití swapu, jen vytrvale boptná. A pak to, že ač mám 3 GB RAM, využití nikdy nepřesáhlo 2,5 GB - to se raději swapne. Kdyby ta hranice byla někde kolem 2,8 GB, tak se v 99% vejdu..


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.8.2010 08:12 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Krom restartu lze ukončit nejnenažranější aplikace (=uvolnit paměť), dobrý přehled poskytuje skript ps_mem.py, a pak co je odswapované vrátit zpět do paměti.

Swapování lze také regulovat pomocí /proc/sys/vm/swappiness.
free

echo "Drop caches"
echo 3 > /proc/sys/vm/drop_caches
echo 0 > /proc/sys/vm/drop_caches

free

mem=$(free | grep Mem: | awk '{print $4}')
swap=$(free | grep Swap: | awk '{print $3}')

if [[ "$mem" -lt "$swap" ]]; then
  echo "Cannot write swap back to RAM."
  echo "Not enough memory. Bye..."
  exit 1
fi

echo "Swap off / Swap on"
swapoff -a && swapon -a

free
26.8.2010 11:53 Ladislav Nešněra | skóre: 30 | blog: ..+2
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
Díky. Pochopil jsem správně, že účelem toho kódu je ulehčit si život při (vy)zapínání swappu a zabránit vypnutí při nedostatku paměti? Resp. že to s /proc/sys/vm/swappiness nemá nic společného?

A ps_mem.py by měl být v distru (Ubuntu) nebo je potřeba jej stáhnout z http://www.pixelbeat.org/scripts/?

26.8.2010 12:28 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
Pochopil jsi to naprosto správně.

Skript bude asi potřeba stáhnout, nevím zda je distribuován ještě jiným způsobem než vystavením na uvedeném webu.
26.8.2010 12:30 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
On ten kód pro vypnutí/zapnutí swapu měl přijít hned za "co je odswapované vrátit zpět do paměti", to od swapiness se mi tam pak nějak vloudilo, proto to působí zmateně, omlouvám se.
27.8.2010 11:31 Ladislav Nešněra | skóre: 30 | blog: ..+2
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
já jsem vděčný za reakci - není třeba se omlouvat.

U toho python scriptu je akorát nepříjemný, že se dožaduje rootovských práv. Mírně se také liší ve výsledcích od KDE System Monitor (odhaduji to na vliv zaokrouhlení)

Nicky726 avatar 26.8.2010 10:06 Nicky726 | skóre: 56 | blog: Nicky726
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pohrát si s nastavením hodnoty swappiness v /etc/sysctl.conf, např.:

vm.swappiness = 20

Výchozí hodnota by měla být 60, pokud to distrojádro nepřehodí, nebo pokud se nepletu. Nižší swappiness drží dýl aplikační data v RAM, vyšší je dřív odswapuje. Jde to ale na úkor diskové cache.

A ano občas je fajn udělat swapoff swapon.
Enjoy the detours. There you’ll find the things more important than what you want. (Hunter x Hunter)
26.8.2010 11:34 Ladislav Nešněra | skóre: 30 | blog: ..+2
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
Díky. Ubuntu v uvedeném souboru proměnnou vm.swappiness = 20 nevede. Ale soubor /proc/sys/vm/swappiness obsahuje jen číslo 60, tak to asi berou z něj (viz. tato odpověď)

Zkusil jsem swapoff. Pravda, pár minut mu ten necelý 1GB trval, ale nakonec to uvolnil. Na RAM byl nárůst jen 0,1 GB. Jsem zvědav, zda to teď přestane drhnout

26.8.2010 11:37 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
Drhnout to přestane těžko, systém neodkládá stránky do swapu jen tak pro nic za nic z dlouhé chvíle.
26.8.2010 12:11 Ladislav Nešněra | skóre: 30 | blog: ..+2
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
Mě právě přijde, že je trošku hysterka a swapuje moc brzo. Však uvidím ;-)
27.8.2010 11:36 Ladislav Nešněra | skóre: 30 | blog: ..+2
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
Tak jsem viděl.. Dostal jsem chudinku do stavu, kdy jen hrabal a hrabal na disku. Když mi došla trpělivost, restartoval jsem Xka :-(
26.8.2010 12:41 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
Chvíli to drhnout nebude, než tu paměť zase něco zažere :) Osobně čištění swapu používám jen výjimečně jako razantní řešení, pokud mi třeba disková paměť vytlačí aplikace, začne se hádat kswapd s pdflush a ještě nějaký program z cronu kdo udělá víc IO, a navíc z dlouhého čekání zhapruje iwlagn a já drcnu do notebooku čímž se na chvíli zaparkuje disk.

Pro trvalé řešení bude asi chtít zjistit co tu paměť nejvíc zažírá, případně zkusit poladit tu swapiness, i když nevím jestli se tím podaří docílit vysokého využití paměti bez swapování, ona může být předpokládám ta zbývající paměť také nevhodně fragmentovaná což imho může vést k zdánlivě předčasnému swapování. Nevím přesně.
Nicky726 avatar 26.8.2010 13:13 Nicky726 | skóre: 56 | blog: Nicky726
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
V uvedeném souboru lze swappiness předefinovat (právě tím uvedeným zápisem), tj. co se tam napíše, se při bootu použije jako výchozí. Hodnota v proc je to, co je nyní použito. Změna tam afaik nepřežije reboot.
Enjoy the detours. There you’ll find the things more important than what you want. (Hunter x Hunter)
27.8.2010 11:39 Ladislav Nešněra | skóre: 30 | blog: ..+2
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
Aha. Díky
Genunix avatar 26.8.2010 10:26 Genunix | skóre: 17 | blog: Memdump
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ani vm.swappiness = 0 moc nepomáhá.
Já problémy se swapem vyřešil tím, že jsem ho přestal používat a jsem spokojený.
Méně radikálním řešením by mohlo být nahození Compcache.
*´¨`*.¸.·´¨`*.¸.·*´`*·>>>
26.8.2010 11:23 Ladislav Nešněra | skóre: 30 | blog: ..+2
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
Díky. A nejsou pak problémy s uspáním? Vycházím z věty: "Ovšem pokud chcete používat "uspání na disk" (hibernaci), je dvojnásobek velikosti paměti vhodné použít."

Jakým způsobem je vhodné vypnout swapp v Ubuntu?

26.8.2010 12:16 Pokyy
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
Pokud je dostatek paměti tak ne.
26.8.2010 12:34 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
Uspávat na disk můžete do extra swap souboru, který použijete jen pro tento účel.
26.8.2010 15:16 Radovan Garabík
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
s/swap//g

do súboru mi to ale nikdy poriadne nefungovalo
26.8.2010 11:35 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Lze nějak čelit výraznému snížení výkonu po odswapování?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Swapování znamená, že se data nevejdou do RAM a odkládají se na disk. Rychlost přístupu k datům na disku je několikanásobně menší, než rychlost přístupu k datům v RAM – proto to zpomalení. Pokud se tedy odswapuje využívaná část paměti, vede to samozřejmě k velkému zpomalení. Systém to samozřejmě nedělá jen tak, že by se nudil nebo by se chtěl schválně zpomalit, ale protože mu dochází volná paměť. To může mít několik příčin – chyba v tom, jak jádro pracuje s pamětí; zbytečné využití paměti pro něco, co nepotřebujete (např. disková cache – jak to změnit už vám zde někdo radil, ale dejte pozor na to, že si tím zase zpomalíte běžnou práci s diskem), málo paměti pro to, jak počítač používáte; a nebo leakující program, který spotřebovává stále víc paměti (a to ještě tak nešikovně, že používané části paměti jsou roztroušené po velkém množství stránek, takže systém nemůže prostě odswapovat alokované ale nepoužívnaé stránky).

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.