web-dev-qa-db-ja.com

DropboxのCPU時間がかかりすぎています。どうすれば修正できますか?

最近、DropboxがCPUの約50〜90%をたった数秒以上使用することがあることに気付きました-主に多くのファイルや大きなファイルをダウンロード/同期する場合。

それでも、大量のデータを同期する場合でも、それほど多くのCPU(おそらくネットワークまたはディスク)を使用する理由はないと思います。

アイデアや提案はありますか? DropboxのCPU使用量を減らすにはどうすればよいですか?

(SSDドライブを搭載したLenovo X220上のUbuntu 12.04で実行)

11
Yoav Feuerstein

Dropboxは、同期するすべてのファイルのハッシュを計算し、それを使用して、変更されたかどうかを判断し、既にクラウドにあるコンテンツ(別の顧客が同じファイルを持っている)のアップロードを回避します。

ハッシュの計算にはCPUパワーが必要です。通常、ログイン時に目立ちます。

6
Javier Rivera

Cpulimitを使用して大声で叫ぶ。

これは(rootとしてログインした場合)に簡略化できることがわかりました

cpulimit -e dropbox -l 10

-lはCPUの割合を指定します。これはすべてのコアの合計CPUのためであるため、デュアルコアには200の制限があります。

出力:

cpulimit -e dropbox -l 10
Process 2641 detected
11
alleyoopster

おそらく、ハッシュの問題以上のものがあります。

私が奇妙だと思うことの1つは、lsof | grep dropboxを使用すると、ドロップボックスプロセスの〜/ Dropboxの下に多くの開いているファイルが表示されないことです。

私がやったのは、dropboxに関連するすべてのパッケージをaptitudeでパージし、rm -r 3〜/ .dropbo *フォルダー(〜/ Dropboxフォルダーではない)にし、パートナーリポジトリとaptitude install nautilus-dropboxを有効にすることでした。この手順に問題があるかどうかはわかりません。

新しいインストールとDropboxのCPU負荷でしばらく(1時間?)すると、負荷が表示されなくなったため、明らかに問題は解決しました。おそらく、パージが助けたのか、更新が必要な非常に大きなファイルのバッチがあっただけです。

2

この方法で、アプリケーションのCPU使用を制限できます。

#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
Aquarius Power

これは、Dropboxが実際に何も同期していない場合でも頻繁に起こります(ハッシュの答えは私にとって理にかなっています)。私の簡単な解決策は、単にDropboxを設定して同期を停止することです。たとえそれが実際に何かを同期していなくても、これはCPU使用率を殺すようです。後でそれをオンに戻すことを忘れないでください。

0
Stephen Bradley