我想使用 JavaWatchService
来侦听大量目录(数十万)的更改,但我不知道它是否适合如此数量的监视目录。
有没有人有WatchService
这样数量的目录的经验?
如果有帮助,WatchService
它将在带有 EXT4 文件系统的 CentOS 6.5 上使用。
谢谢,米凯尔
我想使用 JavaWatchService
来侦听大量目录(数十万)的更改,但我不知道它是否适合如此数量的监视目录。
有没有人有WatchService
这样数量的目录的经验?
如果有帮助,WatchService
它将在带有 EXT4 文件系统的 CentOS 6.5 上使用。
谢谢,米凯尔
这种情况对于 IDE 来说相当普遍。他们经常对复杂的目录结构和成千上万的文件使用目录监视。
有两点需要注意:
为防止出现这种情况,建议增加手表限制(例如,512K)。您可以通过在 /etc/sysctl.conf 文件中添加以下行来实现:
fs.inotify.max_user_watches = 524288
此示例调整系统以监控 512k 文件。
像 Java 中的许多 IO 操作一样,它是由操作系统实际实现的工具的包装器。