Android Studio显示警告inotify限制太低

时间:2015-11-27 14:19:30

标签: android performance android-studio

每次启动Android studio都会显示警告。

当前的inotify(7)观看限制太低。

我不明白它到底是什么。我应该担心吗? 如果有人能够清楚这个手表限制的概念,我会非常感激。

enter image description here

5 个答案:

答案 0 :(得分:18)

根据IntelliJ documentation

  

对于智能IDE,必须了解任何一个   其使用的文件中的外部更改 - 例如VCS所做的更改,   或构建工具或代码生成器等。因此,IntelliJ   平台旋转后台进程来监控这些变化。

     

Inotify需要一个"手表"要为每个目录设置   项目。不幸的是,手表句柄的默认限制可能不是   足够适合大小合理的项目,并达到极限   强制IntelliJ平台回退到目录的递归扫描   树。

因此,您需要添加

fs.inotify.max_user_watches = 524288

in" /etc/sysctl.conf"

然后运行以下命令使其生效

sudo sysctl -p

请告诉我这是否有帮助!

答案 1 :(得分:2)

除了这是一个简单的复制粘贴解决方案之外,这里没有任何新内容:

  1. 只需将此多行命令复制并粘贴到shell中即可创建/etc/sysctl.d/android-studio.conf文件,该文件将在每次系统启动时应用必要的inotify限制:

    cat << EOF | sudo tee /etc/sysctl.d/android-studio.conf
    # Increase inotify limit, required by Android Studio, https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit
    fs.inotify.max_user_watches = 524288
    EOF
    
  2. 不是重新启动,而是立即重新加载所有sysctl配置文件,包含新文件:

    sudo sysctl -p --system

  3. 最后重启Android Studio。

  4. 完整性文档:https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit

答案 2 :(得分:1)

如果您正在运行Debian(Ubuntu),RedHat或其他类似的Linux发行版,请在终端中运行以下命令:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Listen在Linux上默认使用inotify监视目录中的更改。遇到可以监视的文件数量受到系统限制的情况并不少见。例如,Ubuntu Lucid(64位)的inotify限制设置为8192。

有关更多说明,请参见this

答案 3 :(得分:1)

我正在使用Ubuntu,因此对我有效。

  1. 转到您的终端并输入

    $ sudo nano /etc/sysctl.conf  "enter your default password"
    
  2. 在底部添加fs.inotify.max_user_watches = 524288
  3. 退出终端并输入

    $sudo sysctl -p --system
    
  4. 重新启动您的IDE

答案 4 :(得分:0)

注意:您可能无法手动将监视限制行添加到位于 / etc 目录下的 sysctl.conf 文件中。如果您尝试在文本编辑器上对其进行编辑,然后以更安全的方式运行命令,以便对文件进行必要的调整,则可能不允许这样做。

因此,请按照以下步骤增加手表限制:

  1. 键入终端:gksudo gedit /etc/sysctl.conf并输入您的密码进行管理更改(注意:如果您使用linux mint mate,请使用pluma而不是gedit)
  2. 在该文本文件的底部添加以下行。 fs.inotify.max_user_watches = 524288

  3. 保存文件并运行此命令以应用更改。 sudo sysctl -p --system

  4. 重新启动IDE。

  5. 继续享受Android Studio!:)