Dropbox está tomando demasiado tiempo de CPU. ¿Cómo puedo arreglarlo?

11

Recientemente me di cuenta de que Dropbox está tomando alrededor del 50-90% de mi CPU por más de unos segundos a veces, principalmente al descargar / sincronizar muchos o archivos grandes.

Aún así, supongo que incluso cuando se sincronizan muchos datos, no hay razón para usar tanta CPU (tal vez red o disco ...)

¿Alguna idea o sugerencia? ¿Cómo puedo hacer que Dropbox use menos CPU?

(ejecutándose en Ubuntu 12.04 en Lenovo X220 con unidad SSD)

Yoav Feuerstein
fuente
1
Una cosa que hago es iniciar Dropbox con una amabilidad de 18. Quizás esto también ayudaría a su situación.
Scott C Wilson el
(ORIGINALMENTE PUBLICADO POR: @Rafael) El hash tarda a menudo más de lo esperado porque el caché de Dropbox mantiene copias de los archivos antiguos. Verifique la carpeta ./dropbox.cache.
BiggJJ
2
Esta pregunta se menciona en la pregunta de Superusuario Dropbox provoca un alto uso de CPU en Mac OS X 10.8.2 (Mountain Lion) .
Peter Mortensen

Respuestas:

6

Dropbox calcula un hash de todos los archivos que va a sincronizar, los usa tanto para determinar si cambiaron como para evitar cargar contenido que ya está en su nube (otro cliente tiene el mismo archivo).

El cálculo de hashes requiere la potencia de la CPU. Por lo general, se nota al iniciar sesión.

Javier Rivera
fuente
1
Ya veo ... supongo que esa podría ser la razón, ¡aunque a veces sigue siendo bastante molesto! Gracias :)
Yoav Feuerstein
tal vez alguna forma del sistema, renice a 19?
Acuario Power
3
puedes usarcpulimit
Aquarius Power
11

Buen grito con el uso de cpulimit.

Encontré que esto podría simplificarse (cuando se registra como root) para

cpulimit -e dropbox -l 10

donde -l especifica el porcentaje de CPU. Tenga en cuenta que esto es para la CPU total en todos los núcleos, por lo que un núcleo dual tendría un límite de 200

Salida:

cpulimit -e dropbox -l 10
Process 2641 detected
Alleyoopster
fuente
eso requeriría una contraseña de sudo, aunque agregar esa línea a los sudoers hará el truco, supongo
Aquarius Power
@AquariusPower Si no estuvieras conectado como root, entonces requeriría sudo. (Estaba conectado como root - editado para aclarar) gracias
alleyoopster
2

Quizás hay más que el problema del hash.

Una cosa que me parece extraña es que lsof | grep dropboxno veo muchos archivos abiertos en ~ / Dropbox para el proceso de Dropbox.

Lo que hice fue depurar todos los paquetes relacionados con Dropbox, rm -r las carpetas 3 ~ / .dropbo * (pero no la carpeta ~ / Dropbox), y luego habilitar los repositorios asociados y aptitude install nautilus-dropbox. Si este procedimiento es problemático, no lo sé.

Después de un tiempo (¿una hora?) Con la nueva instalación y con la carga de CPU de Dropbox, ya no veo la carga, por lo que aparentemente el problema está resuelto. Quizás la purga ha ayudado o simplemente tuve un lote muy grande de archivos que necesitaban actualización.

Finn Årup Nielsen
fuente
¡Gracias! Lo intentaré la próxima vez que algo así vuelva a suceder.
Yoav Feuerstein
Ya tengo nautilus-dropboxy solo uno ~/.dropbox, mi uso de CPU y sysload es alto :(
Aquarius Power
2

Puede limitar el uso de CPU de cualquier aplicación de esta manera:

#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 primera línea de código es solo un adivinador pid. La segunda línea es para ayudar a cpulimitertrabajar mejor sin requerirlo sudo.

Poder de acuario
fuente
2

Ahora, 2019. Dropbox está en la versión 79. Utilizándolo con Debian en un i7 7th gen, todavía consume ~ 15% de CPU cuando no carga o descarga archivos.

En su página de descarga, Dropbox dice cómo instalar en un entorno sin cabeza.

El ejecutable de dropboxd siempre abre el icono de la bandeja cuando se ejecuta en X. Descubrí que ejecutarlo siempre en modo sin cabeza hacía que el consumo de CPU bajara al 1% después de unos minutos

#!/bin/bash

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

Pero tenga en cuenta que puede ejecutar esto solo después de iniciar sesión en Dropbox

Thadeu de Paula
fuente
0

Esto me sucede con frecuencia incluso cuando Dropbox no está realmente sincronizando nada (allí la respuesta hash tiene sentido para mí). Mi solución rápida es simplemente configurar Dropbox para que deje de sincronizar. Aunque en realidad no está sincronizando nada, esto parece matar el uso de la CPU. Solo tengo que recordar volver a encenderlo más tarde.

Stephen Bradley
fuente