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

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

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

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

6
задан 11 January 2011 в 20:05

3 ответа

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

sync ; echo 3 | sudo tee /proc/sys/vm/drop_caches
0
ответ дан 11 January 2011 в 20:05

Этот пост в блоге Андреа Риги предполагает, что в ядре нет опции конфигурации, но также в общих чертах излагается небольшая библиотека-оболочка glibc, чтобы просто установить флаг O_DIRECT на каждом позвоните по open().

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

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

0
ответ дан 11 January 2011 в 20:05

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

0
ответ дан 11 January 2011 в 20:05

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

Похожие вопросы: