Как отключить кэш предварительной выборки?

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

На данный момент более половины оперативной памяти выделено как кеш. Это не проблема, потому что кеш обычно освобождает место или его часть попадает в swap (опять же, это меня не беспокоит), но я не вижу в этом необходимости.

Есть ли быстрый способ отключить кеш? Это больше эксперимент, чем что-либо еще, поэтому было бы полезно узнать, как снова включить его.

3 ответа

Решение

В этом посте Андреа Риги говорится, что в ядре нет опции конфигурации, но он также немного очерчивает glibc библиотека оболочки, чтобы просто установить O_DIRECT флаг на каждый звонок open(),

Это должно иметь тот же эффект, что и полное отключение буфера чтения.

Кроме того, в вики OpenOffice есть несколько методов для холодного запуска тестирования. Это не то, что вы хотите, но я все равно решил, что включу это.

С 2.6.16 вы можете запустить:

sync ; echo 3 | sudo tee /proc/sys/vm/drop_caches

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

Другие вопросы по тегам