Ho alcuni processi con un nome noto che scrivono tutti su file in una singola directory. Vorrei registrare il numero di letture e scritture di blocchi del disco in un periodo (non solo accesso al file) per verificare se una modifica di un parametro riduce significativamente la quantità di I/O. Attualmente sto usando iostat -d -p
, ma è limitato all'intera partizione.
Risposta accettata:
Mi rendo conto che questo suonerà sia semplicistico che assurdo, ma se hai
il controllo sulle app in questione (magari in un ambiente di test) potresti
montare SOLO quella directory su una partizione a sé stante, quindi iostat
, ecc.
ti parlerebbe solo di questo e nient'altro in quel punto.
Se sono coinvolte unità fisiche, potresti falsificarlo con un loopback
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,
Ciò non rimuoverebbe completamente tutti gli I/O dei dischi concorrenti, ma
sono abbastanza sicuro iostat
L'output sarebbe più specifico per le tue esigenze.