Dropbox zajmuje zbyt dużo czasu procesora. Jak mogę to naprawić?

11

Niedawno zauważyłem, że Dropbox czasami zajmuje około 50-90% mojego procesora przez więcej niż kilka sekund - głównie podczas pobierania / synchronizacji wielu lub dużych plików.

Mimo to wydaje mi się, że nawet podczas synchronizacji dużej ilości danych nie ma powodu, aby używać tak dużej ilości procesora (być może sieci lub dysku ...)

Wszelkie pomysły lub sugestie? Jak sprawić, aby Dropbox zużywał mniej procesora?

(działający na Ubuntu 12.04 na Lenovo X220 z napędem SSD)

Yoav Feuerstein
źródło
1
Jedną z rzeczy, które robię, jest uruchomienie dropboxa z 18-letnią pewnością. Być może pomogłoby to również w twojej sytuacji.
Scott C Wilson,
(ORYGINALNIE PRZEKAZANE PRZEZ: @Rafael) Hashowanie trwa często dłużej niż oczekiwano, ponieważ pamięć podręczna skrzynki odbiorczej przechowuje kopie starych plików. Sprawdź folder ./dropbox.cache.
BiggJJ
2
To pytanie znajduje się w pytaniu Super User Dropbox powoduje wysokie zużycie procesora w systemie Mac OS X 10.8.2 (Mountain Lion) .
Peter Mortensen

Odpowiedzi:

6

Dropbox oblicza skrót wszystkich plików, które ma zsynchronizować, używa go zarówno do ustalenia, czy się zmieniły, jak i do uniknięcia przesyłania treści, które są już w chmurze (inny klient ma ten sam plik).

Obliczanie skrótów wymaga mocy procesora. Jest to zwykle zauważalne przy logowaniu.

Javier Rivera
źródło
1
Rozumiem ... Wydaje mi się, że to może być powód - choć czasem to irytuje! Dzięki :)
Yoav Feuerstein
może jakiś systemowy sposób, przywrócić do 19?
Wodnik Moc
3
możesz użyćcpulimit
Aquarius Power
11

Dobry krzyk z użyciem cpulimit.

Odkryłem, że można to uprościć (po zalogowaniu jako root) do

cpulimit -e dropbox -l 10

gdzie -l określa procent procesora. Uwaga: dotyczy to całkowitego procesora wszystkich rdzeni, więc dwurdzeniowy miałby limit 200

Wynik:

cpulimit -e dropbox -l 10
Process 2641 detected
alleyoopster
źródło
wymagałoby to hasła sudo, więc dodanie tej linii do sudoersów załatwi sprawę
Aquarius Power
@AquariusPower Jeśli nie byłeś zalogowany jako root, to naprawdę wymagałoby sudo. (Byłem zalogowany jako root - edytowany w celu wyjaśnienia) dzięki
alleyoopster
2

Być może chodzi o coś więcej niż problem mieszania.

Jedną z rzeczy, które uważam za dziwne, jest to, że lsof | grep dropboxnie widzę wielu otwartych plików w ~ / Dropbox dla procesu dropbox.

To, co zrobiłem, to wyczyszczenie wszystkich pakietów związanych z dropboxem, rm -r folderów 3 ~ / .dropbo * (ale nie folderu ~ / Dropbox), a następnie włączenie repozytoriów partnerów i aptitude install nautilus-dropbox. Czy ta procedura jest problematyczna, nie wiem.

Po chwili (godzina?) Przy nowej instalacji i przy obciążeniu procesora przez Dropbox nie widzę już obciążenia, więc najwyraźniej problem został rozwiązany. Być może oczyszczanie pomogło lub po prostu miałem bardzo dużą partię plików, które wymagały aktualizacji.

Finn Årup Nielsen
źródło
Dzięki! Spróbuję następnym razem, gdy coś takiego się powtórzy.
Yoav Feuerstein
Mam już nautilus-dropboxtylko jeden ~/.dropbox, moje użycie procesora i obciążenie systemowe są wysokie :(
Aquarius Power
2

Możesz ograniczyć użycie procesora przez dowolną aplikację w ten sposób:

#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

Pierwszy wiersz kodu to tylko odgadnięcie pid. Druga linia ma pomóc w cpulimiterlepszej pracy bez konieczności sudo.

Moc Wodnika
źródło
2

Teraz, 2019. Dropbox jest w wersji 79. Używając go z Debianem na i7 7. generacji, nadal zużywa ~ 15% procesora, gdy nie przesyła lub nie pobiera plików.

Na stronie pobierania Dropbox mówi, jak zainstalować w środowisku bezgłowym.

Plik wykonywalny dropboxd zawsze otwiera ikonę zasobnika podczas pracy na X. Odkryłem, że uruchamianie go zawsze w trybie bezgłowym powoduje zmniejszenie zużycia procesora do 1% po kilku minutach

#!/bin/bash

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

Pamiętaj jednak, że możesz to uruchomić dopiero po zalogowaniu się na Dropbox

Thadeu de Paula
źródło
0

Zdarza mi się to często, nawet gdy Dropbox tak naprawdę niczego nie synchronizuje (mam w tym sensie odpowiedź hashującą). Moim szybkim rozwiązaniem jest po prostu ustawienie Dropbox, aby przestał synchronizować. Nawet jeśli tak naprawdę nie synchronizuje niczego, co wydaje się zabijać użycie procesora. Pamiętaj tylko, aby włączyć go później.

Stephen Bradley
źródło