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
--
FreeBSD mailing list ([email protected])
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem