[buug-l] Platten-I/O shapen

Christoph Biedl cbiedl at gmx.de
Son Mar 19 21:44:07 CET 2006


Will ich einem Prozeß nicht zu viel CPU-Zeit geben, habe ich nice. Soll
ein Prozeß nicht zu viel traffic ins Netz machen, habe ich (unter Linux)
tc. Soll ein Prozeß nicht zu viel I/O mit der Festplatte machen, 
habe ich ...?

Konkretes Problem ist ein tar, das regelmäßig aus vielen Dateien ein 
großes Archiv zusammenschreibt und dabei das gesamte System spürbar
bremst. Hier suche ich nach einer Methode zum Eingreifen.

Spontaner Ansatz wäre ein Einklinken per LD_PRELOAD, das bei read() und
write() mitzählt und ggf. ein usleep einlegt. Sehr schick, weil einfach
beim Aufruf von tar dazwischengeklemmt und ohne Nebenwirkungen. Gibt es
so etwas in fertig?

Alternativ, für mich schnell aufsetzbar, dafür erheblich schmutziger:
Ein nfs-mount auf 127.0.0.1, darauf kann ich dann mit tc den "Netzwerk"-
traffic shapen.

Andere Ideen?

        Christoph