【问题标题】:Android Studio shows the warning inotify limit is too lowAndroid Studio 显示警告 inotify 限制太低
【发布时间】:2016-03-01 18:31:48
【问题描述】:

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

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

我不明白这是怎么回事。我应该担心吗? 如果有人能弄清楚这个手表限制的概念,我将非常感激。

【问题讨论】:

    标签: android performance android-studio


    【解决方案1】:

    根据 IntelliJ documentation

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

    Inotify 需要为每个目录设置一个“监视句柄” 项目。不幸的是,手表句柄的默认限制可能不是 对于合理规模的项目来说足够了,达到极限将 强制 IntelliJ 平台回退到目录的递归扫描 树。

    因此,你需要添加

    fs.inotify.max_user_watches = 524288
    

    在“/etc/sysctl.conf”中

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

    sudo sysctl -p
    

    如果这有帮助,请告诉我!

    【讨论】:

    • 它似乎不起作用,任何其他解决方法来修复它。
    • 您应该添加一个新文件,例如 /etc/sysctl.d/98-inotify.conf,而不是在 /etc/sysctl.conf 中添加换行符。重新启动或运行 sudo sysctl -p 后,您可以使用 sysctl -a 测试您的语法是否正确。
    • 为我工作。谢谢。
    【解决方案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. 重新加载新的 sysclt 配置文件(以及所有其他配置文件):

       sudo sysctl -p --system
      
    3. 重启 Android Studio。

    为了完整起见,这里是 IntelliJ 文档:https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit

    【讨论】:

    • 我认为这是最完整的答案,因为新设置的有用注释和文件名而不是直接附加到 /etc/sysctl.conf。
    【解决方案3】:

    如果您正在运行 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

    【讨论】:

      【解决方案4】:

      我使用的是 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

      【讨论】:

        【解决方案5】:

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

        因此,请按照以下步骤增加观看次数限制:

        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。

        继续享受 Android Studio!:)

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-09-24
        • 2016-10-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多