这些磁盘读取来自哪里?
-
21-12-2019 - |
题
我已经写了一个应用程序,即使用O_WRONLY使用单块写入磁盘o_sync | o_direct。
是有什么我需要做的禁用此设备的缓冲区缓存?
在测试期间,没有读者。我可以模拟如下:
# dd of=/dev/sda1 bs=512 count=1 if=/dev/zero oflag=direct,dsync
.
每个“iostat 1”在每次写入时都从设备读取。
如果我添加“skip= 1000”等行为不会改变。
如果我使用/ dev / sda或/ dev / sda1:
sda:
Linux 2.6.32-431.5.1.el6.x86_64 (wiley) 07/31/2014 _x86_64_ (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.07 0.01 0.07 0.04 0.00 99.80
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 86.00 672.00 1.00 672 1
.
sda1:
sda 83.00 648.00 1.00 648 1
. 解决方案
aha!
原始(8)如图所示:
写:
# dd of=/dev/raw/raw1 bs=512 count=1 if=/dev/zero oflag=direct,dsync
.
iostat:
sda 2.00 0.00 1.00 0 1
. 不隶属于 StackOverflow