Podívejte se na /proc/meminfo
zobrazí Dirty
počet se v průběhu času zmenšuje, jak se všechna data vydávají; část se může rozlít do Writeback
také. To bude souhrn proti všem zařízením, ale v případech, kdy je jedno zařízení v systému mnohem pomalejší než ostatní, obvykle skončíte tam, kde s ním souvisí vše v této frontě. Pravděpodobně najdete Dirty
velké číslo při spuštění a sync
skončí přibližně ve stejnou dobu, kdy se blíží 0. Zkuste toto pro získání interaktivního zobrazení:
watch -d grep -e Dirty: -e Writeback: /proc/meminfo
U běžných disků mohu Writeback
normálně ignorovat , ale nejsem si jistý, jestli se to častěji podílí na přenosové cestě USB. Pokud to jen poskakuje nahoru a dolů bez jasného trendu, pravděpodobně se stačí podívat na Dirty
číslo.
Můžete se podívat na /sys/block/<device>/stat
soubor pro příslušné zařízení během synchronizace. Sloupec 9 bude indikovat počet požadavků během letu na zařízení, který by měl po dokončení synchronizace klesnout na nulu.
Nevím o způsobu, jak to přeložit na počet bajtů, ale měl by vám poskytnout přibližnou představu o tom, kolik „věcí“ stále čeká.
Další informace naleznete v souboru stat.txt v dokumentaci jádra. (Je zde také inflight
soubor v tomto adresáři v mém systému, který vypadá, že by mohl obsahovat požadavky na čtení a zápis během letu, ale nemohu pro to najít dokumenty.)
Použitím Gregovy odpovědi můžete jednoduše mít sync
běžet na pozadí a přitom zobrazovat stav bloku Dirty v paměti.
Chcete-li toho dosáhnout, jednoduše spusťte tento příkaz:
sync & watch -n 1 grep -e Dirty: /proc/meminfo
To zavolá sync
na pozadí při provádění watch
vepředu. Když sync
příkaz skončí (přibližně, když velikost bloku Dirty dosáhne 0), budete mít výstup, který vypadá takto:
1] + 27260 done sync
To znamená, že příkaz skončil a můžete zabít watch
pomocí Ctrl +C .