如何禁用 xfs 分区上的 linux 文件缓存(读取和写入)。
我们在存储原始高清视频的硬件 RAID 上有一个 xfs 分区。大多数拍摄是每个 50-300GB,所以 linux 缓存的命中率为 0.001%。
我已经尝试了同步选项,但在处理文件时它仍然填满了缓存。
(每次拍摄约 30 倍以上:P)
/etc/fstab:
/dev/sdb1 /video xfs 同步,noatime,nodiratime,logbufs=8 0 1
如果有帮助,我正在运行 debian lenny。
有没有办法在 Linux 中关闭读取的页面缓存?更具体地说,我希望我的进程直接从磁盘读取。
我的问题的设置:我正在 Postgres 中尝试新的查询处理技术并测量它们的运行时间。为了准确比较不同方法的运行时间,我需要关闭从操作系统缓存的读取。
我已阅读以下方法,但它们都不适用于我的情况:
echo 1 > /proc/sys/vm/drop_caches:我需要在查询的每次迭代时调用它,这会弄乱我的最终测量时间。O_DIRECT在程序内使用:我无法控制 Postgres 如何读取文件-o sync。我在这里读到它将关闭写入缓冲,但我不确定它是否也会禁用从缓存的读取?hdparm -W 0 /dev/sda1:同样,这只会禁用写入缓存。