Wie beschränke ich die Aktivität von Dropbox auf der Festplatte?

17

Beim Start führt Dropbox die Dateiindizierung durch, wodurch das System drei Minuten lang zum Stillstand kommt.

Gibt es eine Möglichkeit, Dropbox vom Zugriff auf die Festplatte abzuhalten oder die Priorität des Dropbox-Zugriffs auf die Festplatte zu verringern?

aiao
quelle
Möglicherweise tritt ein Dropbox-Fehler auf. (Ich sage nicht, dass diese Frage vom Thema abweicht, ich weise nur auf etwas hin, das Sie vielleicht in Betracht ziehen möchten.)
Flimm
2
@Flimm: Nein, so funktioniert Dropbox. Es muss einen Hash aller Ihrer Dateien berechnen, um zu prüfen, ob sie synchronisiert werden müssen. Bei mir mit 22 GB und einem langsamen Prozessor dauert es ein paar Minuten. Ich habe eine SSD, dies ist also eindeutig ein Prozessor, der an mich gebunden ist. Wenn OP jedoch eine langsame Festplatte hat, ist er möglicherweise i / o-gebunden.
Javier Rivera
Wenn es Ihren Systemstart stört, können Sie dropbox immer so einstellen, dass es etwas später startet. Weitere Informationen finden Sie hier. .
Glutanimate

Antworten:

12

Ergänzend zur Antwort von Carlos D. Barranco können Sie die Launcher-Datei in bearbeiten /usr/share/applications/dropbox.desktopund einen Start mit niedriger Priorität für Dropbox dauerhaft festlegen.

In meinem Fall war es auch nützlich, die Prozessorauslastung von Dropbox zu begrenzen. Sie können das Paket cpulimit installieren:# apt-get install cpulimit

So begrenzen Sie beispielsweise die Dropbox-Auslastung auf bis zu 20%: # cpulimit -b -e dropbox -l 20

Um sowohl Low IO als auch Low Processing für Dropbox beim Systemstart automatisch zu konfigurieren, bearbeiten /usr/share/applications/dropbox.desktopund ersetzen Sie diese dropbox start -idurchionice -c 3 dropbox start -i && cpulimit -b -e dropbox -l 20

Der Befehl ionicesetzt die Leerlaufpriorität für den -lE / A- Zugriff und der Parameter von cpulimit konfiguriert das Verarbeitungslimit in Prozentwerten. Weitere Informationen zu cpulimit finden Sie unter: http://www.nixtutor.com/linux/changing-priority-on-linux-processes/

Igormcoelho
quelle
5

Der richtige Befehl lautet wie folgt:

ionice -c 3 dropbox start -i

Aber Sie müssen vorsichtig sein und das Dropbox-Kontrollkästchen "Dropbox beim Systemstart starten" in der Dropbox-Konfiguration deaktivieren. Andernfalls stellt dropbox den Befehl in der Konfigurationsdatei auf "dropbox start -i" (ohne ionice-Aufruf) wieder her.

Hoffe das hilft.

Carlos D. Barranco
quelle
3

Mit Kubuntu 14.04 funktionierten die obigen Vorschläge nicht. Ich habe mir dieses ausgedacht und es hat dieses Problem für mich auf meinem Lenovo T510 gelöst.

/usr/share/applications/dropbox.desktopÄndern Sie in der Datei die ExecZeile in:

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

Wenn Sie iotop ansehen, erhält Dropbox NUR 99% der CPU, wenn kein anderer Prozess etwas Zeit benötigt. Es teilt die Festplatte mit anderen Prozessen, indem es den Bedarf senkt.

Scott Moore
quelle
2

Sie haben vermutlich Ihr Home-Verzeichnis verschlüsselt? Das Entschlüsseln aller Dateien in Ihrem Dropbox-Ordner kostet Zeit und Ihre gesamte CPU-Kapazität (ich habe das gleiche Problem). Das Umschalten des Dropbox-Vorgangs auf niedrige Priorität hat den gewünschten Effekt, dass der Computer nicht mehr gestört wird und die Synchronisierung weiterhin einwandfrei funktioniert.

Ich weiß nur nicht, wie ich Dropbox automatisch immer mit niedrigerer Priorität starten soll.

Grinsen
quelle
1

Vielleicht eine komplexe Lösung, aber sie sollte funktionieren und Ihr Problem lösen:

Richten Sie ein Dateisystem im Speicher Ihres Systems ein (tmpfs) und legen Sie dieses als Ihren Dropbox-Ordner fest. (Alles unter /run/wird dies automatisch tun.) Es ist temporär und wird gelöscht, wenn Sie neu starten! Sie sollten also so etwas wie einen Cron-Job einrichten, um diesen Speicherort regelmäßig mit einem dauerhaften Ordner in Ihrem Basisordner zu synchronisieren.

Update: In diesem Artikel wird diese Methode für Browserprofile nicht verwendet.

Alternativ können Sie mit ionice die Prozesspriorität auf das Dateisystem einstellen. Es könnte tatsächlich komplizierter zu warten sein und ich bin nicht einmal sicher, ob es das tut, was Sie wollen.

Aeyoun
quelle
Mit ionice (und System Monitor übrigens) können Sie die Priorität eines Prozesses ändern, aber ich glaube nicht, dass dies die Priorität der E / A-Vorgänge eines Prozesses auf der Festplatte beeinflusst. Ich kann mich irren.
Flimm
Auf der anderen Seite ist das eigentliche Problem des OP wahrscheinlich nicht der Zugriff auf die Festplatte: P
Flimm
Downvote: Das sieht für mich gefährlich aus. Wenn Dropbox einen leeren Ordner gefunden hat, kann dies auf zwei Arten verstanden werden: Es kann davon ausgegangen werden, dass Sie alle Ihre Dateien gelöscht und sie aus der Cloud und von anderen Computern gelöscht haben (Sie können sie dann über die Weboberfläche wiederherstellen), oder es können alle Dateien erneut heruntergeladen werden aus dem Web Bandbreite verschwenden.
Javier Rivera
@JavierRivera Ich bin ein n00b zum Schreiben von Shell-Skripten, aber ich habe Schnipsel gefunden, mit denen es funktionieren sollte. Hinzufügen pidof dropbox sudo ionice -c3 -p$$in /etc/rc.localDose jemand füllen die Lücken ?! und sag mir, ob das funktionieren sollte. inspiriert von diesem Blog
aiao
1
Gute Idee. Dies wird in rc.local nicht funktionieren, da Dropbox dann wahrscheinlich nicht gestartet wird. Aber das Bearbeiten von ~ / .config / autostart / dropbox.desktop, um ionice zu verwenden, könnte. Sie sollten dies als Antwort hinzufügen.
Javier Rivera