9

В тесте производительности я хочу обойти влияние кеша системы Linux (включая кеш страниц / кэш-память inode и т.д.).

Я пробовал флаг O_DIRECT, но оказалось, что прямой ввод-вывод все еще "наслаждается" эффектом некоторого кэша.

Есть ли основательный способ закрыть эффект системного кэша?

2 ответа2

14

(это на самом деле падает так ..) сначала запустите sync , затем

бесплатный pagecache:

echo 1 > /proc/sys/vm/drop_caches

бесплатные зубные и иноды:

echo 2 > /proc/sys/vm/drop_caches

бесплатный pagecache, dentries и inode:

echo 3 > /proc/sys/vm/drop_caches

Тогда вы можете начать с чистого кэша, но, конечно, кэширование все равно будет работать.

0

нет, вы не можете обойти кеш. Но, однако, вы можете принудительно выполнить синхронизацию файловой системы (что означает очистку кэша и запись данных на диск) с помощью дополнительного системного вызова fsync (3).

Привет, CK

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .