dlouho trvajici sync po upgrade na 11.2

Dan Lukes dan at obluda.cz
Fri Nov 2 07:41:36 CET 2018


Miroslav Lachman wrote on 1. 11. 2018 18:07:
> Strucne: Jak zjistit, na co ceka prikaz "sync"?

sync je prikaz, kterym uzivatel pozaduje po operacnim systemu aby zapsal 
na disk obsah vsech dosud nezapsanych bufferu diskove cache.

> A ted dlouze: Mam tu nejaky skript, ktery se pousti kazdych 5 minut, 
> neco jednoducheho spocita, cisla zapise do textoveho souboru a na konci 
> zavola prikaz "sync". (cisla ze souboru pak cte MRTG a generuje graf)

Neni moc zrejme k cemu volani toho prikaz v tomto kontextu je, ale to 
neni pro ucely polozene otazky az tak podstatne.

> Tenhle skript funguje v nezmenene podobe vic jak 5 let zhruba na 20 
> strojich a ted, po upgrade z 10.4 na 11.2 se mi na jednom stroji kazdy 
> den stane, ze se ten sync neprovede v max jednotkach sekund, ale bezi 
> nekolik hodin.

Krome chyby (nejspis v kodu ovladace (S)ATA disku) muze jit o zmenu 
logiky - sync mozna nyni skonci az v okamziku, kdy jsou vsechny 
"spinave" buffer zapsane, coz v okamziku, kdy neustale prichazeji dalsi 
a dalsi pozadavky an zapisy nemusi nastat hodne dlouho.

> CPU: 14.1% user,  0.0% nice, 85.7% system,  0.1% interrupt,  0.1% idle

Pomer casu procesoru pro obsluhu in-kernel zalezitosti je pomerne velky 
- ale nevede me to k zadnemu jasnemu a jednoznacnemu poznani o tom, co 
se uvnitr presne deje. Zapis bufferu na disk by mel vytezovat spis IO 
subsystem nez procesor.

> Jedina vec, co me tak napada a mohla by s tim mit souvislost, je rsync 
> backup, ktery se spusti okolo 6h rano (bezi nekolik hodin) a pak, okolo 
> 8h rano dojde k tomu zaseknuti prikazu "sync".

To je podezreni toho druhu, ze pujde pokusem celkem snadno potvrdit nebo 
vyvratit. Tak to zkus ...

> Da se nejak zjistit, na cem se na tak dlouho zasekne?

Zacnes tim, ze nektery z tech syncu zastrelis tak, aby se vytvoril 
coredump. Tim zjistis co proces delal z uzivatelskeho hlediska. Ja si 
ale myslim, ze tim zjistis, ze proces proste ceka na navrat z volani 
kernelove funkce. A debugovat co se deje uvnitr kernelu bude o poznani 
slozitejsi.

Pro zacatek bych se ale opatrne pokusil vratit k jednoduche byt ne uplne 
patricne otazce - proc ten sync vubec volas ...

Dan


More information about the Users-l mailing list