最近、DropboxがCPUの約50〜90%を数秒以上使用することがあることに気付きました-主に多くのファイルや大きなファイルをダウンロード/同期する場合。
それでも、大量のデータを同期する場合でも、それほど多くのCPU(おそらくネットワークまたはディスク)を使用する理由はないと思います。
アイデアや提案はありますか?DropboxのCPU使用量を減らすにはどうすればよいですか?
(SSDドライブを搭載したLenovo X220上のUbuntu 12.04で実行)
最近、DropboxがCPUの約50〜90%を数秒以上使用することがあることに気付きました-主に多くのファイルや大きなファイルをダウンロード/同期する場合。
それでも、大量のデータを同期する場合でも、それほど多くのCPU(おそらくネットワークまたはディスク)を使用する理由はないと思います。
アイデアや提案はありますか?DropboxのCPU使用量を減らすにはどうすればよいですか?
(SSDドライブを搭載したLenovo X220上のUbuntu 12.04で実行)
回答:
Dropboxは、同期するすべてのファイルのハッシュを計算し、それを使用して、変更されたかどうかを判断し、既にクラウドにあるコンテンツをアップロードしないようにします(別の顧客は同じファイルを持っています)。
ハッシュの計算にはCPUパワーが必要です。通常、ログイン時に目立ちます。
cpulimit
cpulimitを使用して大声で叫ぶ。
これは(rootとしてログインした場合)に簡略化できることがわかりました
cpulimit -e dropbox -l 10
-lはCPUの割合を指定します。これはすべてのコアの合計CPUのためであるため、デュアルコアには200の制限があります。
出力:
cpulimit -e dropbox -l 10
Process 2641 detected
おそらく、ハッシュの問題以上のものがあります。
私が奇妙だと思うことの1つlsof | grep dropbox
は、ドロップボックスプロセスの〜/ Dropboxの下に開いているファイルがあまりないことです。
私がやったのは、dropboxに関連するすべてのパッケージをaptitudeでパージし、3つの〜/ .dropbo *フォルダーをrm -r(ただし、〜/ Dropboxフォルダーではない)してから、パートナーリポジトリとを有効にすることでしたaptitude install nautilus-dropbox
。この手順に問題があるかどうかはわかりません。
新しいインストールとdropboxのCPU負荷でしばらく(1時間?)すると、負荷が表示されなくなったため、明らかに問題は解決しました。おそらく、パージが助けたのか、更新が必要なファイルの非常に大きなバッチがあっただけです。
nautilus-dropbox
1つしか持っていません~/.dropbox
、私のCPU使用量とsysloadは高いです:(
この方法で、アプリケーションの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
です。
現在、2019。Dropboxはバージョン79です。i7第7世代のDebianで使用すると、ファイルをアップロードまたはダウンロードしていない場合でも、15%のCPUを消費します。
ダウンロードページで、Dropboxはヘッドレス環境にインストールする方法を説明しています。
X上で実行している場合、dropboxd実行可能ファイルは常にトレイアイコンを開きます。数分後に常にヘッドレスモードで実行すると、CPU消費が1%に低下することがわかりました。
#!/bin/bash
unset DISPLAY
while : ; do
rm -rf $HOME/.dropbox/dropbox.pid
rm -rf /tmp/dropbox*
~/.dropbox-dist/dropboxd
sleep 10
done >> /dev/null
ただし、これはDropboxにログインした後にのみ実行できることに注意してください
これは、Dropboxが実際に何も同期していない場合でも頻繁に起こります(ハッシュの答えは私にとって理にかなっています)。私の簡単な解決策は、単にDropboxを設定して同期を停止することです。たとえそれが実際に何かを同期していないとしても、これはCPU使用を殺すようです。後でそれをオンに戻すことを忘れないでください。