mercoledì 31 agosto 2016

Mac OSX: Backup Time Machine lento su El Capitan



Mac OSX: Backup Time Machine lento su El Capitan

Capita anche a te che il backup su Time Machine sia terribilmente lento su OSX El Capitan?
Ecco la soluzione...





Parte del problema è che su El Capitan hanno assegnato una bassa priorità alle operazioni di I/O sul disco di backup e possono essere quindi strozzate (Throttled). 

1. Controllo se il backup è throttled

Come prima cosa controlla se anche per te il problema è questo.
Collega il disco ed avvia il backup.
Apri il terminale ed esegui il seguente comando:
sudo fs_usage backupd
se nei risultati trovi la parola THROTTLED allora significa che il tuo backup è strozzato.

2. Disattivazione del Throttle sul disco di backup

Se risulta Throttled allora stoppa il backup e apri il terminale ed esegui il seguente comando:
sudo sysctl debug.lowpri_throttle_enabled=0
Questo comando toglierà il blocco allo operazioni di I/O che in un backup possono essere milioni e quindi il tempo di backup si ridurrà moltissimo. (nel mio caso da 48 a 3 ore)

Questa impostazione viene resettata al riavvio, quindi se vuoi mantenerla attiva devi attivare un comando tramite l'automator

3. Riattivazione del Throttle sul disco di backup

E' comunque buona norma riabilitare il throttle dopo aver terminato il backup.
Apri il terminale ed esegui il seguente comando:
sudo sysctl debug.lowpri_throttle_enabled=1



4. Esecuzione da Automator


E' se ti è più comodo puoi creare un servizio tramite Automator che contiene questo AppleScript.
Visualizzerà delle finestre di dialogo che eseguono i comandi sopra descritti:



AppleScript:


on run
local value
set value to "-1"
local valueDescription
--Display Dialog and Get Input
display dialog "Disable throttle?" buttons {"Yes", "No", "Cancel"} default button "Yes"
if button returned of result = "Yes" then
set value to "0"
set valueDescription to "Throttle disabled"
else
if button returned of result = "No" then
set value to "1"
set valueDescription to "Throttle enabled"
end if
end if
if value = "0" or value = "1" then
local command
set command to "sudo sysctl debug.lowpri_throttle_enabled=" & value
tell application "System Events" to set TerminalIsRunning to (exists process "Terminal")
if TerminalIsRunning then
tell application "Terminal"
activate
do script command & space & " ;"
end tell
else
tell application "Terminal"
activate
do script command & space & " ;" in front window
end tell
end if
else
display dialog "Operation aborted" buttons {"Close"}
end if
end run






PayPal - Il sistema di pagamento online più facile e sicuro!