强制将文件和/或目录放入内核文件缓存

强制将文件和/或目录放入内核文件缓存

有没有办法强制或优先将某个目录、文件或某个进程写入/读取的文件放入内核文件缓存中?

编辑:系统是linux。

编辑:我有 1 个进程写入文件,还有大约 7-10 个进程读取由该进程写入的文件。我想尽量减少所涉及的总体磁盘 i/o。

答案1

假设您有足够的内存来承载所有缓存,内核将自动采取最佳缓存操作。尝试预先植入缓存在一般情况下不会有帮助;它只在您需要快速的用户可见处理时间时才有用,但代价是在此过程中会花费更多时间,而这里似乎并非如此。

如果您需要最佳的 I/O 速率,并且您不介意在发生灾难时丢失文件数据,那么您可以在 ramdisk(tmpfs)上执行文件 I/O;这将彻底消除磁盘 I/O,但文件系统的内容将在重启时丢失。

答案2

读取文件应该“强制”将它们放入缓存中。我假设您想将一些文件预加载到缓存中?

我想说“dd if=file of=/dev/null bs=4M”应该强制将文件放入缓存中。您是在说 Linux 吗?

相关内容