一些基准测试(尤其是 SSD)对(4k-)对齐和非对齐读/写进行了区分。我理解为什么对齐可以更快,但我不明白如何在我的程序中确保读/写将与实际介质正确对齐。
我不认为它像确保不寻找不能被 4096 整除的文件中的任何地址一样简单?毕竟,系统不保证文件的开头会正确对齐(或者是吗?)
像 IOMeter 这样的程序如何对齐它们的 I/O?有没有办法在Java中做到这一点?(或者更一般地说,在 VM 中运行的程序)。
我的另一个问题是 IOMeter 如何只有一个线程/进程(以及我自己如何做到这一点)的队列深度> 1 - 但我不确定这是否与对齐的 I/O 相关,或者是否要就此提出一个新问题。