Dropbox займає занадто багато часу в процесорі. Як я можу це виправити?


11

Нещодавно я помітив, що Dropbox займає близько 50-90% мого процесора часом більше ніж декілька секунд - в основному під час завантаження / синхронізації багатьох або великих файлів.

Але я думаю, що навіть синхронізуючи багато даних, немає жодної причини використовувати стільки процесора (можливо, мережу чи диск ..)

Якісь ідеї чи пропозиції? Як змусити Dropbox використовувати менше процесора?

(працює на Ubuntu 12.04 на Lenovo X220 з SSD Drive)


1
Одне, що я роблю, це запустити dropbox з приємністю 18 років. Можливо, це теж допоможе вашій ситуації.
Скотт C Вілсон

(ОРИГІНАЛЬНО ВІДПОВІДАЄТЬ: @Rafael) Хеширование займає часто довше, ніж очікувалося, тому що кеш-пам’ять в папці зберігає копії старих файлів. Перевірте папку ./dropbox.cache.
BiggJJ

Відповіді:


6

Dropbox обчислює хеш усіх файлів, які він буде синхронізувати, він використовує його як для визначення, чи змінилися вони, так і для уникнення завантаження вмісту, який вже є у їхній хмарі (інший клієнт має той самий файл).

Розрахунок хешей займає потужність процесора. Зазвичай це помітно при вході в систему.


1
Я бачу .. Я здогадуюсь, що це може бути причиною - хоча це все ще досить дратує! Дякую :)
Йоав Феерштейн

можливо, якийсь системний спосіб, відновити його до 19?
Сила Водолія

3
ви можете використовуватиcpulimit
Водолій Сила

11

Гарний крик із використанням cpulimit.

Я виявив, що це може бути спрощено (при вході в систему як root) до

cpulimit -e dropbox -l 10

де -l вказує відсоток CPU. Зауважте, що це для загального процесора над усіма ядрами, тому подвійне ядро ​​має обмеження 200

Вихід:

cpulimit -e dropbox -l 10
Process 2641 detected

для цього знадобиться пароль для sudo, тому додавання цього рядка до sudoers зробить трюк, я думаю
Водолій Сила

@AquariusPower Якщо ви не ввійшли в систему як root, то це дійсно вимагало б sudo. (Я був увійшов як root - відредагований для уточнення) спасибо
alleyoopster

2

Можливо, в цьому є більше, ніж проблема хешування.

Одне, що мені здається дивним, це те, що lsof | grep dropboxя не бачу багато відкритих файлів під ~ / Dropbox для процесу випуску.

Що я зробив, це очистити всі можливості пакунків, пов'язаних з dropbox, rm -r папками 3 ~ / .dropbo * (але не папкою ~ / Dropbox), а потім увімкнути партнерські сховища та aptitude install nautilus-dropbox. Чи проблемна ця процедура, я не знаю.

Через деякий час (годину?) З новим встановленням і з завантаженням процесора dropbox я більше не бачу навантаження, тому, мабуть, проблема вирішена. Можливо, чистка допомогла або я просто мав дуже велику партію файлів, які потребували оновлення.


Спасибі! Я спробую наступного разу, як щось подібне повториться.
Йоав Фейерштейн

У мене вже є nautilus-dropboxі лише одне ~/.dropbox, моє використання процесора та завантаження системи :(
Водолій Сила

2

Ви можете обмежити використання процесора будь-якої програми таким чином:

#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

Перший рядок коду - це лише підгадка про підписи. 2-й рядок - допомогти cpulimiterкраще працювати, не вимагаючи цього sudo.


2

Тепер, 2019. Dropbox знаходиться на версії 79. Використовуючи його з Debian на i7 7-му поколінні, він все ще споживає ~ 15% Cpu при не завантажуванні або завантаженні файлів.

На своїй сторінці завантаження Dropbox розповідає, як встановити в безголовому середовищі.

Іконка виконуваного лотка завжди відкривається під час запуску на X. Я виявив, що запуск його завжди в безголовому режимі знизив споживання процесора до 1% через кілька хвилин

#!/bin/bash

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

Але майте на увазі, що це можна запустити лише після входу в Dropbox


0

Це трапляється зі мною часто навіть тоді, коли Dropbox насправді нічого не синхронізує (там відповідь хеширования має для мене сенс). Моє швидке рішення - просто встановити Dropbox для припинення синхронізації. Навіть тому, що насправді не синхронізує нічого, це, здається, знищує використання процесора. Просто потрібно пам'ятати, щоб увімкнути його пізніше.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.