Come posso limitare l'attività di Dropbox sul disco rigido?


17

All'avvio, Dropbox esegue l'indicizzazione dei file, il che porta il sistema praticamente fermo per tre minuti.

Esiste un modo per impedire a Dropbox di accedere al disco rigido o ridurre la priorità dell'accesso di Dropbox al disco rigido?


Potresti riscontrare un bug di Dropbox. (Non sto dicendo che questa domanda è fuori tema, sto solo sottolineando qualcosa che potresti voler prendere in considerazione.)
Flimm

2
@Flimm: No, è così che funziona Dropbox. Deve calcolare un hash di tutti i tuoi file per verificare se devono essere sincronizzati. Per me con 22 Gb e un processore lento ci vogliono un paio di minuti. Ho un SSD quindi questo è chiaramente associato a me dal processore, ma se OP ha un disco rigido lento potrebbe essere possibile che sia collegato.
Javier Rivera,

Se interferisce con l'avvio del sistema, puoi sempre impostare Dropbox per avviarlo un po 'più tardi. Vedi qui per maggiori informazioni. .
Glutanimate,

Risposte:


12

A completamento della risposta di Carlos D. Barranco, è possibile modificare il file di avvio situato in /usr/share/applications/dropbox.desktope impostare in modo permanente un inizio a bassa priorità per dropbox.

Nel mio caso, è stato anche utile limitare l'utilizzo del dropbox da parte del processore. È possibile installare il pacchetto cpulimit:# apt-get install cpulimit

Ad esempio, per limitare il dropbox fino al 20% di utilizzo del processore: # cpulimit -b -e dropbox -l 20

Per configurare sia l'IO basso che l'elaborazione bassa per dropbox automaticamente con l'avvio del sistema, modificare /usr/share/applications/dropbox.desktope sostituire dropbox start -iconionice -c 3 dropbox start -i && cpulimit -b -e dropbox -l 20

Il comando ioniceimposta la priorità inattiva per l'accesso IO e il parametro -ldi cpulimit configura il limite di elaborazione in valori percentuali. Ulteriori informazioni su cpulimit sono disponibili in: http://www.nixtutor.com/linux/changing-priority-on-linux-processes/


5

Il comando giusto è il seguente:

ionice -c 3 dropbox start -i

Ma devi fare attenzione e disattivare la casella di controllo dropbox "Avvia dropbox all'avvio del sistema" nella configurazione di dropbox. Altrimenti, dropbox ripristinerà il comando nel file di configurazione su "dropbox start -i" (senza chiamata ionice).

Spero che sia di aiuto.


3

Con Kubuntu 14.04, i suggerimenti sopra riportati non funzionavano. Ho pensato a questo e ho risolto questo problema sul mio Lenovo T510.

Nel file /usr/share/applications/dropbox.desktop, cambia la Execriga per leggere:

Exec=ionice -c 2 -n 7 dropbox start -i

Guardando iotop, dropbox ottiene il 99% della CPU SOLO quando nessun altro processo richiede del tempo. Condivide il disco rigido con altri processi abbassando il livello della domanda.


2

Possibilmente hai una home directory crittografata? La decodifica di tutti i file nella cartella Dropbox richiede tempo e tutta la capacità della CPU (ho lo stesso problema). Il passaggio al processo di dropbox su bassa priorità ha l'effetto desiderato di annullare l'inceppamento del computer e la sincronizzazione continua a funzionare correttamente.

Semplicemente non so come avviare automaticamente Dropbox con una priorità inferiore.


1

Forse una soluzione complessa, ma dovrebbe funzionare e risolvere il tuo problema:

Imposta un file system nella memoria del tuo sistema (tmpfs) e impostalo come cartella Dropbox. (Qualsiasi cosa sotto /run/lo farà automaticamente.) È temporanea e verrà eliminata al riavvio! Quindi dovresti configurare qualcosa come un cron-job per sincronizzare periodicamente questa posizione in una cartella persistente nella tua cartella home.

Aggiornamento: questo articolo disattiva questo metodo per i profili del browser.

In alternativa, ionice ti consentirà di impostare la priorità del processo sul file system. In realtà potrebbe essere più complicato da mantenere e non sono nemmeno sicuro che faccia quello che vuoi.


ionice (e System Monitor, del resto), ti permettono di modificare la priorità di un processo, ma non credo che influisca sulla priorità di un 'I / O di processo sul disco rigido. Potrei sbagliarmi.
Flimm,

D'altra parte, il vero problema dell'OP probabilmente non è l'accesso al disco rigido: P
Flimm

Downvote: Questo mi sembra pericoloso. Quando Dropbox ha trovato una cartella vuota, può comprenderla in due modi: può credere di aver eliminato tutti i file ed eliminarli dal cloud e da altri computer (è possibile ripristinare quindi utilizzando l'interfaccia Web) o può ricominciare a scaricare tutti i file dalla rete che spreca larghezza di banda.
Javier Rivera,

@JavierRivera Sono un n00b per shell script di scrittura, ma ho trovato frammenti che dovrebbero farlo funzionare. aggiungendo pidof dropbox sudo ionice -c3 -p$$in /etc/rc.localgrado di riempire qualcuno gli spazi vuoti ?! e dimmi se questo dovrebbe funzionare. ispirato a questo blog
aiao,

1
Buona idea. Questo non funzionerà in rc.local poiché probabilmente dropbox non verrà avviato. Ma la modifica di ~ / .config / autostart / dropbox.desktop per usare ionice potrebbe. Dovresti aggiungere questo come risposta.
Javier Rivera,
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.