top -w / co je ve swapu

Dan Lukes dan at obluda.cz
Thu May 9 02:31:31 CEST 2019


Miroslav Lachman wrote on 6. 5. 2019 20:35:
> Prihlasim se na stroj, kde podle monitoringu je obsazeno 445MB ve swapu, 
> spustim top -S -w -o swap

> Swap: 4096M Total, 445M Used, 3650M Free, 10% Inuse
> Jenze tam sloupec SWAP u vsech procesu zobrazuje OK.

> Je to problem topu, nebo swap obsahuje data od procesu, ktery uz nebezi? 

Hadam ze ani jedno.


> Ocekaval bych, ze system musi dost presne vedet, co do swapu presunul a komu to patri. 

Jo, a ne. Management pameti je dost slozita vec.

Pamet presunuta do swapu muze patrit vic nez jednomu procesu, coz se 
tyka nejen explicitne sdilene pameti, ale taky implicitne sdileneho 
pametoveho prostoru u procesu ve vztahu parent-child (do te doby nez 
dojde ze strany childu k zapisu do dane stranky a k copy-on-write).

A neplati ani, ze linearni pamet uz pouzita, ktera je de-mapovana z 
fyzickeho prostoru se vzdy zapisuje do swapu - pokud lze data obnovit 
odjinud (napriklad slo o kod programu nebo knihovny) tak se obsah proste 
zahodi a v pripade potreby obnovi odjinud.

Swap ma ale svuj vlastni management - neni to tak jednoduche jako 
linearni seznam bloku velikosti stranky a bitmapa jestli blok je nebo 
neni pouzity. Kvuli vykonu je swap rozdelen na zony obsahujici bloky 
ruzne velikosti a aktualni pozadavek na zapis do swapu se uspokojuje ze 
zony s nejmensim dostacujicim blokem (ktery muze byt ve skutecnosti 
daleko vetsi, nez aktualne strankovany kus). A pozdeji se mohou do 
pameti nacist jen nektere stranky z takoveho bloku. Takze v "blbym 
pripade" muze byt ve swapu spousta jednotlivych stranek ulozenych ve 
velkych zonach - a tim je spotrebovano hodne mista ve swapu, ackoliv 
prakticky nikdo neswapuje.

System samozrejme vi kde ma kazdy proces kterou stranku a stejne je 
mozne se dobrat i informace komu vsemu patri ten-ktery kus swapu, ale 
prave tyhle "pohledy" system ke svemu fungovani bezne nepotrebuje a tak 
je nedrzi. Takze udelat prave tuhle statistiku je pomerne hodne narocna 
operace - proto prislusne funkce vraceji jen odhady.

> Ale samozrejme o internim fungovani techto veci vim kulovy...

I ja, a obavam se, ze lidi, ktery drzi v hlave kompletni povedomost o 
memory/swap managementu je hodne malo ...

Dan


More information about the Users-l mailing list