使用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
时间: 2024-10-27 17:52:40