Question

J'ai écrit une application que les battements de coeur utilisant un bloc unique écrit sur disque à l'aide de O_WRONY | O_SYNC | O_DIRECT.

Y a-t-il quelque chose que je dois faire pour désactiver le cache tampon de cet appareil?

Pendant le test, il n'y a pas de lecteurs.Je peux la simuler comme suit:

# dd of=/dev/sda1 bs=512 count=1 if=/dev/zero oflag=direct,dsync

par "iostat 1" quelque chose est la lecture de l'appareil chaque fois que j'écris.

Le comportement ne change pas si j'ajoute "Skip= 1000", etc.
Le comportement change un peu si j'utilise / dev / sda ou / 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

Était-ce utile?

La solution

aha!

brut (8) comme on le voit ici:

https://superuser.com/ Questions / 242928 / Désactiver-Linux-Linux-Lis-and-write-file-cache-on-cloison / 464382 # 464382

écrire:

# 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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top