GNU/Linux >> Znalost Linux >  >> Linux

Mohu sledovat průběh operace „synchronizace“?

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 .


Linux
  1. Jak mohu získat stav klávesnice v Linuxu?

  2. Jak dosáhnu toho, aby cURL nezobrazoval indikátor průběhu?

  3. Jak mohu v handleru SIGILL přeskočit problematickou instrukci?

  1. BlueZ na i.MX25:Nelze připojit zásuvku RFCOMM:Operace právě probíhá

  2. Proč nemohu rolovat v terminálu?

  3. Jak mohu sledovat délku fronty přijetí?

  1. Sledujte příkazy a úkoly pomocí příkazu watch v systému Linux

  2. Mohu změnit SID databáze Oracle?

  3. Netstat průběžné obnovování (sledovat změny výstupu)