6

我想使用 JavaWatchService来侦听大量目录(数十万)的更改,但我不知道它是否适合如此数量的监视目录。

有没有人有WatchService这样数量的目录的经验?

如果有帮助,WatchService它将在带有 EXT4 文件系统的 CentOS 6.5 上使用。

谢谢,米凯尔

4

1 回答 1

5

这种情况对于 IDE 来说相当普遍。他们经常对复杂的目录结构和成千上万的文件使用目录监视。

有两点需要注意:

为防止出现这种情况,建议增加手表限制(例如,512K)。您可以通过在 /etc/sysctl.conf 文件中添加以下行来实现:

    fs.inotify.max_user_watches = 524288

此示例调整系统以监控 512k 文件。

  • 如果你有一个 HDD,它不会让它旋转得更快,而且它很可能会达到 80 - 120 IOPS(每秒 IO),这很可能是一个性能瓶颈,而不是你想要的。

像 Java 中的许多 IO 操作一样,它是由操作系统实际实现的工具的包装器。

于 2014-12-14T10:53:17.003 回答