¿De dónde vienen estas lecturas de disco?
-
21-12-2019 - |
Pregunta
He escrito una aplicación que los latidos del corazón usan las escrituras de un solo bloque en el disco usando O_WRONY | O_SYNC | O_DIRACT.
¿Hay algo que necesito hacer para deshabilitar el caché de búfer para este dispositivo?
Durante las pruebas no hay lectores.Puedo simularlo de la siguiente manera:
# dd of=/dev/sda1 bs=512 count=1 if=/dev/zero oflag=direct,dsync
por "iostat 1" Algo está leyendo desde el dispositivo cada vez que escribo.
El comportamiento no cambia si agrego "Skip= 1000", etc. El comportamiento cambia un poco si uso / dev / sda o / 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
Solución
AHA!
RAW (8) Como se ve aquí:
Escribir:
# 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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow