问题是我想保证我的文件拖尾几乎永远不会进行磁盘 I/O。
由于文件(本质上是日志文件)正在由 Java 服务器写入磁盘,我希望它们被实时读取并传输到另一台设备。
假设目标设备可以吸收与生成日志文件的源服务器一样多的数据,并且没有网络饱和或类似问题,那么,如果我总是从文件末尾读取,是不是保证我正在读取的数据始终来自 Linux 的缓冲区缓存?
文件每小时滚动一次。
最佳答案
在从文件缓存中丢弃文件之前,您需要确保正在读取文件。如果您距离文件末尾只有几 MB,我认为您不会遇到问题。
在 Linux 上,在我看来您可以安全地使用总内存的 10% 左右的磁盘缓存。 (但是我没有证据证明这一点)
关于java - 我如何保证我的文件尾随 Linux 缓存中的最新缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8230180/