In einem Leistungstest möchte ich den Einfluss des Cache des Linux-Systems (einschließlich Seiten-Cache / Inode-Cache usw.) umgehen.
Ich habe das O_DIRECT-Flag ausprobiert, aber es hat sich herausgestellt, dass direkte E / A immer noch den Effekt eines Caches "genießen".
Gibt es eine gründliche Möglichkeit, den Effekt des Systemcaches zu schließen?
Antworten:
(es fällt tatsächlich so ..) laufen
sync
zuerst, dannkostenloser Seitencache:
freie Einträge und Inoden:
kostenloser Seitencache, Einträge und Inodes:
Dann können Sie mit einem sauberen Cache beginnen, aber das Caching funktioniert natürlich immer noch.
quelle
Nein, Sie können den Cache nicht umgehen. Sie können jedoch mit dem zusätzlichen Systemaufruf fsync (3) eine Dateisystemsynchronisierung erzwingen (dh den Cache leeren und die Daten auf die Festplatte schreiben).
Grüße, CK
quelle