J'ai récemment remarqué que Dropbox occupe parfois 50 à 90% de mon processeur pendant plus de quelques secondes, principalement lors du téléchargement/synchronisation de fichiers volumineux ou volumineux.
Malgré tout, même en synchronisant beaucoup de données, il n’ya aucune raison d’utiliser autant de ressources processeur (réseau ou disque, par exemple).
Des idées ou des suggestions? Comment faire en sorte que Dropbox utilise moins de processeur?
(fonctionnant sous Ubuntu 12.04 sur Lenovo X220 avec lecteur SSD)
Dropbox calcule un hachage de tous les fichiers qu'il va synchroniser. Il l'utilise à la fois pour déterminer s'ils ont été modifiés et pour éviter de télécharger du contenu déjà dans leur nuage (un autre client possède le même fichier).
Le calcul des hachages prend de la puissance du processeur. Il est généralement visible à la connexion.
Bon cri avec l'aide de cpulimit.
J'ai trouvé que cela pourrait être simplifié (une fois connecté en tant que root)
cpulimit -e dropbox -l 10
où -l spécifie le pourcentage de CPU. Notez que ceci concerne le nombre total de processeurs sur tous les cœurs, ainsi un dual core aurait une limite de 200
Sortie:
cpulimit -e dropbox -l 10
Process 2641 detected
Peut-être y at-il plus que le problème du hachage.
Une chose que je trouve étrange, c’est que, avec lsof | grep dropbox
, je ne vois pas beaucoup de fichiers ouverts sous ~/Dropbox pour le processus de dépôt.
Ce que j'ai fait était d'aptitude purger tous les paquets liés à dropbox, rm -r les 3 dossiers ~/.dropbo * (mais pas le dossier ~/Dropbox), puis d'activer les référentiels de partenaires et aptitude install nautilus-dropbox
. Je ne sais pas si cette procédure est problématique.
Après un certain temps (une heure?) Avec la nouvelle installation et avec la charge du processeur Dropbox, je ne vois plus la charge, donc le problème est apparemment résolu. Peut-être que la purge a aidé ou que je viens d'avoir un très grand nombre de fichiers à mettre à jour.
Vous pouvez limiter l'utilisation de l'unité centrale de n'importe quelle application de cette façon:
#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 première ligne de code est juste un devineur pid. La deuxième ligne est d'aider cpulimiter
à mieux fonctionner sans requérir Sudo
name__.
Cela m’arrive souvent, même lorsque Dropbox ne synchronise rien (la réponse de hachage me semble utile). Ma solution rapide consiste simplement à configurer Dropbox pour qu’il arrête la synchronisation. Même si cela ne synchronise rien, cela semble tuer l’utilisation du processeur. N'oubliez pas de le rallumer plus tard.