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.