IntelliJ IDEA platform spins background process to monitor changes in project files; the method is platform-specific and on Linux it uses Inotify facility.
Inotify requires a "watch handle" to be set for each directory in the project. Unfortunately, the default limit of watch handles (8192) may not be enough for reasonably sized projects, and reaching the limit will force IntelliJ platform to fall back to recursive scans of directory trees.
To prevent this situation it is recommended to increase the watches limit. You can do it by adding following line to the /etc/sysctl.conf file:
Then run this command to apply the change:
And don't forget to restart IDEA.
Note: the watches limit is per-account setting. If there are another programs running under the same account which also uses Inotify (e.g. Beagle or MonoDevelop) the limit should be raised high enough to suite needs of all of them.