Inotify监视限值不足问题

使用Android Studio导入AOSP源码遇到inotify大小不足的问题,原文即ide推荐的解决方法。Android Studio就是基于IntelliJ平台修改的。

对于一个”聪明”的ide,它应该能知道与它协同工作的外部组件,如VCS、编译工具、代码生成器等,对它管控的文件产生了修改。举例来说,IntelliJ有专门的后台线程去监视这些变化。这个方法根据不同的平台可能实现会有不同,在Linux平台我们用的Inotify工具。

Inotify会对工程内的所有文件夹设置”watch handle”。不幸的是,Linux默认的watch handle的限值不能满足实际工程大小的需要,超过限值将强制IntelliJ重新扫描项目目录的递归树(这将非常耗时)。

为了避免这种问题,我们推荐修改提高watches的限值(一般521k就可以了)。你可以通过修改/etc/sysctl.conf, 在文件末尾添加一行:

fs.inotify.max_user_watches = 524288

然后使用下面命令使修改生效:

sudo sysctl -p

不要忘记重启你的ide.

注意: watches的限值是根据当前ide的需要设置的。如果有其他程序也在是inotify,你应该适当增加限值已满足需要。

原文地址: https://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit

你可能感兴趣的:(Android,Studio)