vah*_*hid 7 linux postgresql cache hard-drive-cache
有没有办法在 Linux 中关闭读取的页面缓存?更具体地说,我希望我的进程直接从磁盘读取。
我的问题的设置:我正在 Postgres 中尝试新的查询处理技术并测量它们的运行时间。为了准确比较不同方法的运行时间,我需要关闭从操作系统缓存的读取。
我已阅读以下方法,但它们都不适用于我的情况:
echo 1 > /proc/sys/vm/drop_caches:我需要在查询的每次迭代时调用它,这会弄乱我的最终测量时间。O_DIRECT在程序内使用:我无法控制 Postgres 如何读取文件-o sync。我在这里读到它将关闭写入缓冲,但我不确定它是否也会禁用从缓存的读取?hdparm -W 0 /dev/sda1:同样,这只会禁用写入缓存。