Jak ograniczyć aktywność Dropbox na dysku twardym?

17

Po uruchomieniu Dropbox uruchamia indeksowanie plików, co prawie zatrzymuje system na trzy minuty.

Czy istnieje sposób na ograniczenie dostępu Dropbox do dysku twardego lub zmniejszenie priorytetu dostępu Dropbox do dysku twardego?

aiao
źródło
Być może wystąpił błąd Dropbox. (Nie twierdzę, że to pytanie jest nie na temat, wskazuję tylko coś, co warto rozważyć.)
Flimm
2
@Flimm: Nie, tak właśnie działa Dropbox. Musi obliczyć skrót wszystkich plików, aby sprawdzić, czy trzeba je zsynchronizować. Dla mnie z 22 Gb i wolnym procesorem zajmuje to kilka minut. Mam dysk SSD, więc jest to wyraźnie związane z procesorem, ale jeśli OP ma wolny dysk twardy, możliwe, że jest on związany z operacją we / wy.
Javier Rivera
Jeśli przeszkadza to w uruchomieniu systemu, zawsze możesz ustawić Dropbox, aby rozpocząć nieco później. Zobacz tutaj, aby uzyskać więcej informacji. .
Glutanimate,

Odpowiedzi:

12

Uzupełniając odpowiedź Carlosa D. Barranco, możesz edytować plik programu uruchamiającego znajdujący się w /usr/share/applications/dropbox.desktopi na stałe ustawić start o niskim priorytecie dla Dropbox.

W moim przypadku użyteczne było również ograniczenie użycia procesora przez Dropbox. Możesz zainstalować pakiet cpulimit:# apt-get install cpulimit

Na przykład, aby ograniczyć dropbox do 20% użycia procesora: # cpulimit -b -e dropbox -l 20

W celu automatycznej konfiguracji zarówno niskiego IO, jak i niskiego przetwarzania dla Dropbox przy uruchomieniu systemu, edytuj /usr/share/applications/dropbox.desktopi zamień dropbox start -inaionice -c 3 dropbox start -i && cpulimit -b -e dropbox -l 20

Polecenie ioniceustawi priorytet bezczynności dla dostępu IO, a parametr -lcpulimit konfiguruje limit przetwarzania w wartościach procentowych. Więcej informacji o cpulimit można znaleźć w: http://www.nixtutor.com/linux/changing-priority-on-linux-processes/

igormcoelho
źródło
5

Prawidłowe polecenie jest następujące:

ionice -c 3 dropbox start -i

Należy jednak zachować ostrożność i dezaktywować pole wyboru „Uruchom skrzynkę przy uruchamianiu systemu” w konfiguracji skrzynki odbiorczej. W przeciwnym razie dropbox przywróci polecenie w pliku konfiguracyjnym do „dropbox start -i” (bez wywołania ionice).

Mam nadzieję że to pomoże.

Carlos D. Barranco
źródło
3

Powyższe sugestie nie działały w systemie Kubuntu 14.04. Wymyśliłem ten i to rozwiązało dla mnie ten problem na moim Lenovo T510.

W pliku /usr/share/applications/dropbox.desktopzmień Execwiersz na następujący:

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

Oglądając iotop, dropbox dostaje 99% CPU TYLKO, gdy żaden inny proces nie potrzebuje czasu. Dzieli dysk twardy z innymi procesami, obniżając poziom popytu.

Scott Moore
źródło
2

Prawdopodobnie masz zaszyfrowany katalog domowy? Odszyfrowanie wszystkich plików w folderze Dropbox zajmuje dużo czasu i całej pojemności procesora (mam ten sam problem). Przełączenie procesu Dropbox na niski priorytet daje pożądany efekt odblokowania komputera i synchronizacji nadal działającej poprawnie.

Po prostu nie wiem, jak automatycznie zawsze uruchamiać Dropbox z niższym prioirty.

Szeroki uśmiech
źródło
1

Może to skomplikowane rozwiązanie, ale powinno działać i rozwiązać problem:

Skonfiguruj system plików w pamięci systemu (tmpfs) i ustaw go jako folder Dropbox. (Wszystko poniżej /run/zrobi to automatycznie.) Jest to tymczasowe i zostanie usunięte po ponownym uruchomieniu! Powinieneś więc skonfigurować coś w rodzaju zadania cron, aby okresowo synchronizować tę lokalizację z trwałym folderem w folderze domowym.

Aktualizacja: w tym artykule nie zastosowano tej metody dla profili przeglądarki.

Alternatywnie, ionice pozwoli ci ustawić priorytet procesu dla systemu plików. Utrzymanie tego może być bardziej skomplikowane i nawet nie jestem pewien, czy robi to, co chcesz.

Aeyoun
źródło
ionice (i Monitor systemu, jeśli o to chodzi), pozwalają modyfikować priorytet procesu, ale nie sądzę, aby miało to wpływ na priorytet I / O procesu na dysku twardym. Mogę się mylić.
Flimm,
Z drugiej strony prawdziwym problemem OP nie jest prawdopodobnie dostęp do dysku twardego: P
Flimm
Downvote: Wydaje mi się to niebezpieczne. Gdy Dropbox znalazł pusty folder, może to zrozumieć na dwa sposoby: może wierzyć, że usunąłeś wszystkie swoje pliki i usunąłeś je z chmury i innych komputerów (możesz odzyskać, a następnie przy użyciu interfejsu internetowego) lub może rozpocząć pobieranie wszystkich plików ponownie z marnowania przepustowości sieci.
Javier Rivera
@JavierRivera Jestem n00b do pisania skryptów powłoki, ale znalazłem fragmenty, które powinny sprawić, że zadziała. dodanie pidof dropbox sudo ionice -c3 -p$$w /etc/rc.localktoś może wypełnić puste ?! i powiedz mi, czy to powinno zadziałać. zainspirowany tym blogiem
aiao
1
Dobry pomysł. Nie działa to w rc.local, ponieważ prawdopodobnie nie zostanie wtedy uruchomione Dropbox. Ale edytowanie ~ / .config / autostart / dropbox.desktop w celu użycia ionice może. Powinieneś dodać to jako odpowiedź.
Javier Rivera