Откуда эти диски читаются?
-
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
. Решение
ага!
RAW (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