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