Dropbox sta impiegando troppo tempo sulla CPU. Come posso ripararlo?


11

Di recente ho notato che Dropbox impiega circa il 50-90% della mia CPU per più di pochi secondi a volte, soprattutto durante il download / la sincronizzazione di molti o file di grandi dimensioni.

Tuttavia, immagino che anche quando si sincronizzano molti dati, non c'è motivo di usare quella CPU (forse rete o disco ..)

Qualche idea o suggerimento? Come posso fare in modo che Dropbox utilizzi meno CPU?

(in esecuzione su Ubuntu 12.04 su Lenovo X220 con unità SSD)


1
Una cosa che faccio è avviare dropbox con una gentilezza di 18. Forse questo aiuterebbe anche la tua situazione.
Scott C Wilson,

(ORIGINALMENTE POSTATO DA: @Rafael) L'hashing richiede spesso più tempo del previsto perché la cache di Dropbox conserva copie di vecchi file. Controlla la cartella ./dropbox.cache.
BiggJJ,

Risposte:


6

Dropbox calcola un hash di tutti i file che sta per sincronizzare, lo utilizza sia per determinare se sono cambiati sia per evitare di caricare il contenuto che è già nel loro cloud (un altro cliente ha lo stesso file).

Il calcolo degli hash richiede la potenza della CPU. Di solito è evidente all'accesso.


1
Vedo .. Immagino che potrebbe essere la ragione - anche se a volte è ancora abbastanza fastidioso! Grazie :)
Yoav Feuerstein,

forse in qualche modo di sistema, portarlo a 19?
Aquarius Power

3
puoi usarecpulimit
Aquarius Power il

11

Buon grido con l'utilizzo di cpulimit.

Ho scoperto che questo potrebbe essere semplificato (quando registrato come root) a

cpulimit -e dropbox -l 10

dove -l specifica la percentuale di CPU. Nota che questo vale per la CPU totale su tutti i core, quindi un dual core avrebbe un limite di 200

Produzione:

cpulimit -e dropbox -l 10
Process 2641 detected

che richiederebbe la password sudo, quindi aggiungere quella linea ai sudoer farà il trucco immagino
Aquarius Power

@AquariusPower Se non si fosse effettuato l'accesso come root, sarebbe effettivamente necessario sudo. (Sono stato loggato come root - modificato per chiarire) grazie
alleyoopster il

2

Forse c'è di più oltre al problema dell'hashish.

Una cosa che trovo strana è che con lsof | grep dropboxnon vedo molti file aperti in ~ / Dropbox per il processo di dropbox.

Quello che ho fatto è stato aptitude eliminare tutti i pacchetti relativi a dropbox, rm -r le cartelle 3 ~ / .dropbo * (ma non la cartella ~ / Dropbox), e quindi abilitare i repository dei partner e aptitude install nautilus-dropbox. Non so se questa procedura sia problematica.

Dopo un po '(un'ora?) Con la nuova installazione e con carico CPU dropbox non vedo più il carico, quindi apparentemente il problema è risolto. Forse l'eliminazione ha aiutato o ho avuto solo una grande quantità di file che necessitava di un aggiornamento.


Grazie! Ci proverò la prossima volta che succederà qualcosa di simile.
Yoav Feuerstein,

Ne ho già nautilus-dropboxe solo uno ~/.dropbox, il mio utilizzo della CPU e il mio sysload sono alti :(
Aquarius Power

2

È possibile limitare l'utilizzo della cpu di qualsiasi applicazione in questo modo:

#nPidDropbox=`ps -A -o pid,comm |egrep " dropbox$" |sed -r "s'^ *([[:digit:]]*) .*'\1'"`
nPidDropbox=`pgrep dropbox`

renice -n 19 `ps -L -p $nPidDropbox -o lwp |tr "\n" " "`
cpulimit -p "$nPidDropbox" -l 10

La prima riga di codice è solo un'ipotesi pid. La seconda linea è di aiutare a cpulimiterlavorare meglio senza richiedere sudo.


2

Ora, 2019. Dropbox è sulla versione 79. Usandolo con Debian su un i7 di settima generazione, consuma ancora ~ 15% Cpu quando non carica o scarica file.

Nella sua pagina di download, Dropbox spiega come installare in un ambiente senza testa.

L'eseguibile dropboxd apre sempre l'icona nella barra delle applicazioni quando è in esecuzione su X. Ho scoperto che eseguirlo sempre in modalità senza testa ha ridotto il consumo della CPU all'1% dopo pochi minuti

#!/bin/bash

unset DISPLAY
while : ; do
  rm -rf $HOME/.dropbox/dropbox.pid
  rm -rf /tmp/dropbox*
  ~/.dropbox-dist/dropboxd
  sleep 10
done >> /dev/null

Ma tieni presente che puoi eseguirlo solo dopo l'accesso su Dropbox


0

Questo mi succede spesso anche quando Dropbox in realtà non sta sincronizzando nulla (lì la risposta di hashing ha senso per me). La mia soluzione rapida è semplicemente impostare Dropbox per interrompere la sincronizzazione. Anche se in realtà non sta sincronizzando nulla, ciò sembra uccidere l'utilizzo della CPU. Devo solo ricordare di riaccenderlo più tardi.

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.