Entspricht `nice` für Dateisystem-E / A?

11

Wenn ich einen rsyncSicherungsjob ausführe, bei dem große Dateien kopiert werden, kommt der Computer, auf dem die Sicherung ausgeführt wird (sowohl Mac-Desktops als auch Linux-Server), zum Stillstand, und der Lastdurchschnitt geht über das Dach.

Ich habe es versucht:

  • niceden rsyncProzess (hilft nicht - der Engpass ist die Festplatte)
  • Unter Linux hilft reniceing a kjournald(hilft, scheint aber ein Hack zu sein und funktioniert auf dem Mac nicht)
  • Verwenden der --bwlimit rsyncFlagge (hilft, aber es bedeutet, dass alle Übertragungen langsam sind - auch wenn sie nicht sein müssen)

Gibt es eine Möglichkeit, die E / A zu nice" " " rsync, damit die Computer verwendet werden können, während die Sicherung ausgeführt wird?

PS: Ich bin mir der Gefahren rsyncauf dem Mac bewusst … Aber ich habe BackupBouncer verwendet , um meine Backups zu überprüfen, und sie scheinen in Ordnung zu sein.

David Wolever
quelle

Antworten:

7

Es sieht so aus, als ob die setpriorityAPI unter Mac OS X die E / A-Planung ändern kann (siehe http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man2/setpriority.2.html ). . Ich habe kein MacOS zur Hand, daher kann ich nicht testen, ob nicesich die E / A-Priorität tatsächlich ändert.

Auf der Linux-Seite ioniceist das , wonach Sie suchen.

Evan Anderson
quelle
1
Ah danke. In der setpriorityManpage heißt es: "Wenn ein Thread in den Hintergrundzustand versetzt wird, wird die Planungspriorität auf den niedrigsten Wert gesetzt, Festplatten- und Netzwerk-E / A werden gedrosselt." - Dies scheint darauf hinzudeuten, dass Festplatten- / Netzwerk-E / A nur gedrosselt werden, wenn etwas auf 20 reduziert wird (der "Hintergrundstatus").
David Wolever
2
Einige schnelle Tests scheinen dies ebenfalls zu bestätigen - als das Sicherungsskript nur auf 10 (dh nice backup) gekürzt wurde , bemerkte ich eine Verlangsamung ... Aber wenn es auf 20 (dh nice -n 20 backup) gekürzt wurde, bemerkte ich keine Verlangsamung.
David Wolever
(und mit "bemerkte eine Verlangsamung" meine ich "bemerkte, dass interaktive Programme, die auf dem Computer ausgeführt wurden, nicht so schnell reagierten wie normalerweise")
David Wolever
1
Es ist ein wenig enttäuschend, dass Sie nur mit einer Priorität von 20 drosseln.
Evan Anderson
+1, nette Antwort. Ich habe mich immer gefragt, ob ich IO drehen soll.
Avery Payne