具有许多目录的WatchService性能

时间:2014-12-14 09:37:52

标签: java performance watchservice

我想使用Java WatchService来监听大量目录(数十万)的更改,但我不知道它是否适合这些数量的目录。< / p>

有没有人有WatchService这么多目录的经验?

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

谢谢, 迈克尔

1 个答案:

答案 0 :(得分:3)

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

有两点需要注意:

  

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

    fs.inotify.max_user_watches = 524288

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

  • 如果您有硬盘驱动器,它不会让它旋转得更快,而且很可能达到80 - 120 IOPS(每秒IO),这可能是您可能遇到的性能瓶颈。

与Java中的许多IO操作一样,它是一个实际由OS实现的工具的包装器。