IO-Last begrenzen

Mit ionice lassen sich Prozesse in verschiede priorisierte I/O-Klassen unterteilen. Mit dem Parameter -c lässt sich die Klasse einstellen:

  • 0 – keine
  • 1 – realtime
  • 2 – best effort
  • 3 – idle

Um z. B. ein rsync zurückhaltend euf einem Rechner zu starten:

$> iosync -c 3 rsync [rsync-Parameter] /lokaler/pfad remote:/anderer/pfad

Damit sollte z. B. der Desktop bedienbar bleiben. Falls das zu bremsende rsync z. B. nicht lokal läuft, sondern auf der remote-Maschine, bedient man sich des –rsync-path Parameters. Der erlaubt eine dedizierte rsync-Version zu starten, die auch ein Script sein kann:

#!/bin/bash
/usr/bin/ionice -c 3 /usr/bin/rsync "$@"

Das Skript muss les- und ausführbar sein. Nun lässt sich rsync mittels:

$> rsync --rsync-path=/pfad/zum/skript [rsync-Parameter]

auf der entfernten Maschine starten. Mittels iotop kann man die IO-Last überprüfen.
(Quelle: „Rsync zwingt Linux-Server in die Knie“, c’t 2012/23, S. 154)

Schreibe einen Kommentar

Name *
E-Mail-Adresse *
Website