【发布时间】:2012-06-09 09:56:38
【问题描述】:
一些基准测试(尤其是 SSD)对(4k-)对齐和非对齐读/写进行了区分。我理解为什么对齐可以更快,但我不明白如何在我的程序中确保读/写与实际介质正确对齐。
我认为这不会像确保不查找文件中不能被 4096 整除的任何地址那么简单吗?毕竟,系统不保证文件的开头会正确对齐(或者是吗?)
IOMeter 等程序如何对齐其 I/O?有没有办法在Java中做到这一点? (或者更一般地说,在 VM 中运行的程序)。
我的另一个问题是 IOMeter 的队列深度如何 > 1,只有一个线程/进程(以及我自己如何做到这一点) - 但我不确定这是否与对齐的 I/O 有关更多,或者是否就此提出一个新问题。
【问题讨论】:
-
看看这里,但绝对不便携! msdn.microsoft.com/en-us/library/windows/desktop/…
-
是的,请针对队列深度开一个新问题。
-
你研究过IOMeter的源码吗? IOXXX 文件是一个很好的起点。
标签: java c performance io filesystems