从 Linux 内核的文档来看,建议 POSIX_FADV_RANDOM 似乎禁用了预读。但是,当我使用 (sudo hdparm -A 0 /dev/sdb) 禁用 Readhead 时,性能会大幅下降;还注意到 read(2) 似乎每 512k 被分割一次并充当单独的调用(不确定原因,可能是每个请求的最大扇区)。
那么哪个选项真正禁用预读呢?POSIX_FADV_RANDOM 是否也会禁用操作系统缓存,或者我应该添加 POSIX_FADV_DONTNEED。
hard-disk posix
hard-disk ×1
posix ×1