GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Wie überwacht man die Festplatten-E/A in einem bestimmten Verzeichnis?

Ich habe ein paar Prozesse mit einem bekannten Namen, die alle in Dateien in einem einzigen Verzeichnis schreiben. Ich möchte die Anzahl der Lese- und Schreibvorgänge von Festplattenblöcken über einen bestimmten Zeitraum protokollieren (nicht nur Dateizugriff), um zu testen, ob eine Parameteränderung die I/O-Menge erheblich reduziert. Ich verwende derzeit iostat -d -p , aber das ist auf die ganze Partition beschränkt.

Akzeptierte Antwort:

Mir ist klar, dass dies sowohl simpel als auch absurd klingen wird, aber wenn Sie
die Kontrolle über die fraglichen Apps haben (vielleicht in einer Testumgebung), könnten Sie
NUR dieses Verzeichnis auf einer eigenen Partition mounten, dann iostat , usw. würde Ihnen
nur davon erzählen, und sonst nichts an dieser Stelle.

Wenn physische Laufwerke beteiligt sind, können Sie es mit einem Loopback
Mount à la

vortäuschen
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,

Das würde nicht alle konkurrierenden Festplatten-I/Os vollständig entfernen, aber
ich bin mir ziemlich sicher, iostat Die Ausgabe wäre spezifischer für Ihre Bedürfnisse.


Linux
  1. So partitionieren Sie eine Festplatte unter Linux

  2. So mounten Sie ein USB-Laufwerk in UNIX oder Linux

  3. Wie mounte ich ein Disk-Image mit mehreren Partitionen unter Linux?

  4. Wie kann ich die Netzwerk-E/A-Nutzung pro Prozess unter Linux überwachen?

  5. Wie überprüfe ich die Festplatten-E/A-Auslastung pro Prozess?

So führen Sie SSH in ein bestimmtes Verzeichnis unter Linux aus

So ermitteln Sie die Größe eines Verzeichnisses in Linux

So mounten Sie eine NTFS-Festplatte unter Linux

So mounten Sie macOS APFS-Festplattenvolumes in Linux

So überprüfen Sie die Größe von Dateien und Verzeichnissen unter Linux

Wie kann ich das Verzeichnis /var/log verschieben