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

¿Fue útil?

Solución

AHA!

RAW (8) Como se ve aquí:

https://superuser.com/ Preguntas / 242928 / Deshabilitar-Linux-Lea-and-Write-File-Cache-On-Partition / 464382 # 464382

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
scroll top