Equivalente di "nice" per il filesystem IO?


11

Quando eseguo un rsyncprocesso di backup che prevede la copia su file di grandi dimensioni, la macchina che esegue il backup (sia desktop Mac che server Linux) si interrompe e la media del carico supera il tetto.

Ho provato:

  • niceing il rsyncprocesso (non aiuta - il collo di bottiglia è il disco)
  • Su Linux, reniceing a kjournald(aiuta, ma sembra un hack e non funziona su Mac)
  • Utilizzo della --bwlimit rsyncbandiera (aiuta, ma significa che tutti i trasferimenti sono lenti, anche quando non è necessario)

Quindi, c'è un modo in cui posso " nice" eseguire l' rsyncIO in modo che le macchine siano utilizzabili mentre il backup è in esecuzione?

PS: Sono consapevole dei pericoli di rsyncsu Mac ... Ma ho usato BackupBouncer per verificare i miei backup, e sembrano OK.

Risposte:


7

Sembra che l' setpriorityAPI su Mac OS X sia in grado di modificare la programmazione IO (vedi http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man2/setpriority.2.html ) . Non ho MacOS a portata di mano, quindi non posso testare che nicecambia effettivamente la priorità di I / O.

Sul lato Linux, ioniceè quello che stai cercando.


1
Ah grazie. Ecco cosa setprioritydice la manpage: "Quando si imposta un thread in background, la priorità di pianificazione è impostata sul valore più basso, l'IO del disco e della rete sono limitati". - che sembra indicare che l'IO del disco / rete è limitato solo quando qualcosa è ridotto a 20 (lo "stato di fondo").
David Wolever,

2
Alcuni test rapidi sembrano anche confermarlo: quando lo script di backup è stato ridotto a 10 (ovvero, nice backup), ho notato un rallentamento ... Ma quando è ridotto a 20 (cioè, nice -n 20 backup), non noto alcun rallentamento.
David Wolever,

(e per "notato un rallentamento" intendo "notato che i programmi interattivi in ​​esecuzione sul computer non rispondevano così rapidamente come fanno normalmente")
David Wolever,

1
È un po 'deludente che tu abbia solo una limitazione di 20, tuttavia.
Evan Anderson,

+1, bella risposta. Mi sono sempre chiesto di twiddling IO.
Avery Payne,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.