Как отключить кэш предварительной выборки?
Я использую несколько серверов 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 печатает строку с учетом кеша.