Dropbox отнимает слишком много процессорного времени. Как я могу это исправить?


11

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

Тем не менее, я предполагаю, что даже при синхронизации большого количества данных нет причин использовать этот процессор (возможно, сеть или диск ..)

Есть идеи или предложения? Как я могу сделать так, чтобы Dropbox использовал меньше процессора?

(работает на Ubuntu 12.04 на Lenovo X220 с SSD-накопителем)


1
Одна вещь, которую я делаю, это запускаю dropbox с приятностью 18. Возможно, это поможет и вашей ситуации.
Скотт С. Уилсон,

(ОРИГИНАЛЬНО ПОСТАВЛЕНО: @Rafael) Хеширование часто занимает больше времени, чем ожидалось, поскольку в кэш-памяти Dropbox хранятся копии старых файлов. Проверьте папку ./dropbox.cache.
BiggJJ

2
Этот вопрос упоминается в вопросе «Супер-пользователь». Dropbox вызывает высокую загрузку процессора в Mac OS X 10.8.2 (Mountain Lion) .
Питер Мортенсен

Ответы:


6

Dropbox вычисляет хэш всех файлов, которые он собирается синхронизировать, он использует его, чтобы определить, изменились ли они, и избежать загрузки контента, который уже находится в их облаке (тот же файл есть у другого клиента).

Расчет хэшей требует мощности процессора. Обычно это заметно при входе в систему.


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

может быть какой-то системный способ, возьми до 19?
Водолей Сила

3
Вы можете использоватьcpulimit
Водолей Power

11

Хороший крик с использованием cpulimit.

Я обнаружил, что это может быть упрощено (при входе в систему как root)

cpulimit -e dropbox -l 10

где -l указывает процент загрузки процессора. Обратите внимание, что это для общего процессора на всех ядрах, поэтому двухъядерный будет иметь ограничение в 200

Выход:

cpulimit -e dropbox -l 10
Process 2641 detected

для этого потребуется пароль sudo, хотя добавление этой строки в sudoers поможет, я думаю
Aquarius Power

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

2

Возможно, здесь есть нечто большее, чем проблема хеширования.

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

Я попытался очистить все пакеты, связанные с dropbox, rm -r папки 3 ~ / .dropbo * (но не папку ~ / Dropbox), а затем включить репозитории партнеров и aptitude install nautilus-dropbox. Является ли эта процедура проблематичной, я не знаю.

Через некоторое время (час?) С новой установкой и с загрузкой процессора в Dropbox я больше не вижу нагрузки, поэтому, видимо, проблема решена. Возможно, очистка помогла, или у меня была очень большая партия файлов, которые нуждались в обновлении.


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

У меня уже nautilus-dropboxи только один ~/.dropbox, мой процессор и sysload высоки :(
Aquarius Power

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

Первая строка кода - просто догадчик pid. 2-я линия - помочь cpulimiterработать лучше, не требуя sudo.


2

Теперь 2019. Dropbox на версии 79. Используя его с Debian на i7 7-го поколения, он по-прежнему потребляет ~ 15% ЦП, если не загружать и не загружать файлы.

На странице загрузки Dropbox рассказывает, как установить систему в автономном режиме.

При запуске на X исполняемый файл dropboxd всегда открывает значок в трее. Я обнаружил, что запуск его всегда в автономном режиме приводит к снижению нагрузки на процессор до 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.