1

Я запускаю следующее для очистки кэшированных файлов из файловой системы / системной памяти:

# echo 3 > /proc/sys/vm/drop_caches

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

Мой вопрос: сколько времени требуется, чтобы приведенная выше команда сделала свое волшебство? Я хотел бы знать, нужно ли мне добавить какую-то программную паузу после выполнения вышеупомянутого, чтобы помочь лучше установить базовый уровень, которого я добиваюсь.

Является ли эффект очистки немедленным, и, если нет, измерима ли задержка?

1 ответ1

2

Эта операция отбрасывает только те вещи, которые могут быть немедленно отброшены. Так что, хотя это мгновенно, этого недостаточно для вашей цели. Например, все, что было изменено предыдущей операцией, но еще не записано на диск, все еще находится в оперативной памяти для следующей операции.

Возможно, вы захотите запустить sync и подождать несколько минут, пока активность диска не прекратится, прежде чем вы уроните.

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