GNU/Linux >> Znalost Linux >  >> Linux

Linux – Jak monitorovat diskový vstup/výstup v konkrétním adresáři?

Mám několik procesů se známým názvem, které všechny zapisují do souborů v jednom adresáři. Chtěl bych zaznamenat počet čtení a zápisů bloků disku za určité období (ne pouze přístup k souboru), abyste otestovali, zda změna parametru významně snižuje množství I/O. Momentálně používám iostat -d -p , ale to je omezeno na celý oddíl.

Přijatá odpověď:

Uvědomuji si, že to bude znít zjednodušeně a absurdně, ale pokud máte
kontrolu nad dotyčnými aplikacemi (možná v testovacím prostředí), můžete
připojit POUZE tento adresář na jeho vlastní oddíl, pak iostat , atd. by vám
řekli pouze o tom a nic jiného na tomto místě.

Pokud se jedná o fyzické jednotky, můžete to zfalšovat pomocí zpětné smyčky
mount à la

dd if=/dev/zero of=/bigdisk/LOOPFILE bs=1024m count=1024m # 1gb loopback file
mke2fs -j /bigdisk/LOOPFILE
mkdir /tmpcopy
mount -o loop /tmpcopy /bigdisk/LOOPFILE
cp -r -p $SPECIALDIR2MONITOR /tmpcopy
umount /tmpcopy
mount -o loop $SPECIALDIR2MONITOR  /bigdisk/LOOPFILE,

To by úplně neodstranilo všechny konkurenční diskové I/O, ale
jsem si docela jistý, iostat Výstup by byl konkrétnější pro vaše potřeby.


Linux
  1. Jak rozdělit disk v Linuxu

  2. Jak zkontrolovat, zda je připojen konkrétní adresář?

  3. Jak připojit tento disk?

  1. Jak změnit montážní body?

  2. Jak připojit USB disk v UNIX nebo Linux

  3. Jak mohu přesunout adresář /var/log

  1. Jak obnovit smazaný adresář /tmp v Linuxu

  2. Jak děláte neblokující I/O konzoly na Linuxu v C?

  3. Jak zastavit „nepřerušitelný“ proces v Linuxu?