我在使用 Dropbox 时遇到了一个相当奇怪的问题,这个问题几周前开始出现。
Dropbox 将停止同步并显示消息“无法访问 Dropbox 文件夹”,并且拒绝同步直到我重新启动。
我尝试重新启动 Dropbox 并注销,但似乎除了重新启动之外我做什么都无法让它再次同步。
这不是权限问题,因为当我突然失去访问权限时权限不会改变。
我检查了 lsof 中是否有任何与 dropbox 相关的东西,当我停止它时,这些东西可能仍然挂起。据我所知,当发生这种情况时,除了 Dropbox 正在访问其文件夹之外,没有其他任何东西。
答案1
如果你把这些放进去/etc/sysctl.conf
:
fs.inotify.max_user_watches = 1048576
fs.inotify.max_user_instances = 256
它将修复该问题。您可能需要运行sudo sysctl -p
才能使这些设置生效。
或者,如果您不想使这些设置永久生效,您可以尝试以下命令...
sudo sysctl fs.inotify.max_user_instances=256
sudo sysctl fs.inotify.max_user_watches=1048576
在这种情况下,重启后设置将会丢失。
问题是系统已用完 inotify 实例。您可以检查系统日志(例如使用tail -f /var/log/syslog
),如果看到...
tail:inotify 无法使用,恢复轮询:打开的文件过多
那么你知道这是你的问题。对我来说这是 nepomuk。
答案2
fs.inotify.max_user_instances=256 修复了我立即出现的“无法访问 Dropbox 文件夹”问题(Ubuntu 12.04)。
它还解决了我注意到的一个奇怪的行为,其中 Dropbox 系统托盘图标不断指示文件活动:箭头圈不断循环,尽管我的 Dropbox 中没有任何变化,“最近更改的文件”列表保持不变。
在我更改 fs.inotify.max_user_instances=256 后不久,无意义的循环就停止了。
答案3
在其中一个论坛中,有人提到这是由于 inotify 造成的。他们有这个解决方案/解决方法。
- 禁用桌面搜索(在 kde nepomuk+tracker 中,在 gnome tracker 中)
- 重新启动(注销没有帮助)
答案4
这通常是因为 sysctrl 用完了 inotify 实例。以下 2 个命令通常可以修复此问题。
sudo sysctl fs.inotify.max_user_watches=1048576
sudo sysctl fs.inotify.max_user_instances=256