Android Studio显示警告inotify限制太低

lak*_*hay 15 performance android android-studio

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

当前的inotify(7)监视限制太低.

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

在此输入图像描述

Suh*_*has 22

根据IntelliJ 文档,

对于智能IDE,必须了解其使用的文件中的任何外部更改 - 例如,由VCS或构建工具或代码生成器等进行的更改.因此,IntelliJ平台旋转后台进程以监视此类更改.

Inotify需要为项目中的每个目录设置"监视句柄".不幸的是,对于合理大小的项目,监视句柄的默认限制可能不够,并且达到限制将迫使IntelliJ平台回退到目录树的递归扫描.

因此,您需要添加

fs.inotify.max_user_watches = 524288
Run Code Online (Sandbox Code Playgroud)

在"/etc/sysctl.conf"中

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

sudo sysctl -p
Run Code Online (Sandbox Code Playgroud)

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


Ste*_*sen 10

这是干净且简单的复制和粘贴修复:

  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
    
    Run Code Online (Sandbox Code Playgroud)
  2. 重新加载新的 sysclt 配置文件(以及所有其他文件):

     sudo sysctl -p --system
    
    Run Code Online (Sandbox Code Playgroud)
  3. 重启安卓工作室。

这是完整性的 IntelliJ 文档:https : //confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit

  • 我认为这是最完整的答案,因为新设置的有用注释和文件名而不是直接附加到 /etc/sysctl.conf。 (4认同)

Ced*_*Ced 8

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

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Run Code Online (Sandbox Code Playgroud)

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

有关进一步的解释,请参阅