Как ограничить активность Dropbox на жестком диске?

17

При запуске Dropbox выполняет индексацию файлов, что приводит к почти полной остановке системы на три минуты.

Есть ли способ ограничить доступ Dropbox к жесткому диску или уменьшить приоритет доступа Dropbox к жесткому диску?

aiao
источник
Возможно, вы столкнулись с ошибкой Dropbox. (Я не говорю, что этот вопрос не по теме, я просто указываю на то, что вы можете рассмотреть.)
Flimm
2
@Flimm: Нет, именно так работает Dropbox. Он должен вычислить хэш всех ваших файлов, чтобы проверить, нужно ли их синхронизировать. Для меня с 22 Гб и медленным процессором это занимает пару минут. У меня есть SSD, так что это явно связано с процессором, но если у OP медленный жесткий диск, возможно, он связан с I / O.
Хавьер Ривера
Если это мешает запуску вашей системы, вы всегда можете установить Dropbox для запуска чуть позже. Смотрите здесь для более подробной информации. ,
Glutanimate

Ответы:

12

В дополнение к ответу Карлоса Д. Барранко, вы можете отредактировать файл запуска, расположенный в нем, /usr/share/applications/dropbox.desktopи навсегда установить низкоприоритетный старт для Dropbox.

В моем случае было также полезно ограничить использование процессора dropbox. Вы можете установить пакет cpulimit:# apt-get install cpulimit

Например, для ограничения использования процессора до 20%: # cpulimit -b -e dropbox -l 20

Чтобы автоматически настроить низкое число операций ввода-вывода и низкую обработку для Dropbox при запуске системы, отредактируйте /usr/share/applications/dropbox.desktopи замените dropbox start -iнаionice -c 3 dropbox start -i && cpulimit -b -e dropbox -l 20

Команда ioniceустановит приоритет холостого хода для доступа к IO, а параметр -lcpulimit настраивает предел обработки в процентных значениях. Более подробную информацию о cpulimit можно найти по адресу : http://www.nixtutor.com/linux/changing-priority-on-linux-processes/

igormcoelho
источник
5

Правильная команда следующая:

ionice -c 3 dropbox start -i

Но вы должны быть осторожны и деактивировать флажок Dropbox «Запуск Dropbox при запуске системы» в конфигурации Dropbox. В противном случае dropbox восстановит команду в файле конфигурации в «dropbox start -i» (без вызова ionice).

Надеюсь это поможет.

Карлос Д. Барранко
источник
3

Запустив Kubuntu 14.04, вышеуказанные предложения не сработали. Я придумал этот, и он решил эту проблему для меня на моем Lenovo T510.

В файле /usr/share/applications/dropbox.desktopизмените Execстроку на следующую:

Exec=ionice -c 2 -n 7 dropbox start -i

Смотря iotop, dropbox получает 99% ЦП ТОЛЬКО, когда никакой другой процесс не требует времени. Он разделяет жесткий диск с другими процессами, снижая уровень спроса.

Скотт Мур
источник
2

Вы вероятно зашифровали домашний каталог? Расшифровка всех файлов в папке Dropbox требует времени и всей загрузки вашего процессора (у меня та же проблема). Переключение процесса Dropbox на низкий приоритет приводит к желаемому эффекту: отсоединение компьютера и синхронизация по-прежнему работают нормально.

Я просто не знаю, как автоматически всегда запускать Dropbox с более низким уровнем.

усмешка
источник
1

Возможно комплексное решение, но оно должно работать и решить вашу проблему:

Установите файловую систему в памяти вашей системы (tmpfs) и установите ее в качестве папки Dropbox. (Что-нибудь под/run/ будет делать это автоматически.) Это временно и будет удалено при перезагрузке! Поэтому вы должны настроить что-то вроде cron-job, чтобы периодически синхронизировать это местоположение с постоянной папкой в ​​вашей домашней папке.

Обновить: эта статья не использует этот метод для профилей браузера.

Кроме того, ionice позволит вам установить приоритет процесса для файловой системы. Это на самом деле может быть сложнее в обслуживании, и я даже не уверен, что он делает то, что вы хотите.

Aeyoun
источник
ionice (и System Monitor, в этом отношении) позволяют изменять приоритет процесса, но я не думаю, что это влияет на приоритет ввода / вывода процесса на жесткий диск. Я могу ошибаться
Flimm
С другой стороны, реальной проблемой ОП, вероятно, не является доступ к жесткому диску: P
Flimm
Даунвот: Это выглядит опасно для меня. Когда Dropbox обнаружил пустую папку, он мог понять это двумя способами: он может поверить, что вы удалили все свои файлы и удалить их из облака и других компьютеров (вы можете восстановить затем с помощью веб-интерфейса), или он может начать загрузку всех файлов снова из сети тратится пропускная способность.
Хавьер Ривера
@JavierRivera Я пишу сценарий n00b to shell, но я нашел фрагменты, которые должны заставить его работать. добавлениеpidof dropbox sudo ionice -c3 -p$$ в /etc/rc.localможет заполнить неком пробелы ?! и скажи мне, если это должно работать. вдохновленный от этого блога
aiao
1
Хорошая идея. Это не сработает в rc.local, так как Dropbox, скорее всего, не будет запущен. Но редактирование ~ / .config / autostart / dropbox.desktop для использования ionice могло бы. Вы должны добавить это в качестве ответа.
Хавьер Ривера