Dropbox 占用了太多 CPU 时间。我该如何修复?

Dropbox 占用了太多 CPU 时间。我该如何修复?

我最近注意到 Dropbox 有时会占用我 CPU 的 50-90% 以上,持续时间超过几秒钟 - 主要是在下载/同步大量或大文件时。

不过,我猜测即使在同步大量数据时,也没有理由使用那么多 CPU(可能是网络或磁盘......)

有什么想法或建议吗?如何让 Dropbox 减少 CPU 使用率?

(在配备 SSD 驱动器的联想 X220 上运行 Ubuntu 12.04)

答案1

使用 cpulimit 效果很好。

我发现这可以简化(以 root 身份登录时)

cpulimit -e dropbox -l 10

其中 -l 指定 CPU 百分比。请注意,这是所有核心的总 CPU,因此双核的限制为 200

输出:

cpulimit -e dropbox -l 10
Process 2641 detected

答案2

Dropbox 计算所有要同步的文件的哈希值,使用它来确定文件是否发生了变化,并避免上传已经存在于云中的内容(另一个客户有相同的文件)。

计算哈希值需要消耗 CPU 能力。登录时通常会注意到这一点。

答案3

您可以通过这种方式限制任何应用程序的 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 猜测器。第二行是为了cpulimiter在不需要的情况下帮助更好地工作sudo

答案4

现在,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 后才能运行此操作

相关内容