某些基准测试(尤其是SSD)可区分(4k-)对齐和非对齐读/写。我理解为什么对齐可以更快,但我不知道如何在我的程序中确保读/写将与实际介质正确对齐。
我认为这并不简单,只要确保不要在文件中寻找任何不能被4096整除的地址?毕竟,系统不保证文件的启动将正确对齐(或者是吗?)
IOMeter等程序如何调整I / O?有没有办法在Java中做到这一点? (或者更一般地说,在VM中运行的程序)。
我的另一个问题是IOMeter的队列深度是多少? 1,只有一个线程/进程(以及我自己如何做到这一点) - 但我不确定这是否与对齐的I / O有关,或者打开一个关于它的新问题。
答案 0 :(得分:1)
我怀疑你绝对可以做到,但你可以大大增加你的机会。
答案 1 :(得分:0)
此链接可能很有用,但您说您对数据对齐有足够的了解。我不认为Java支持它。我想你必须自己实现它。 Data Alignment