Прежде чем приступить к тестам, как освободить память (ОЗУ), которую ядро Linux использует для своих буферов и кеша?
Обратите внимание, что это в основном полезно для бенчмаркинга. Очистка буферов и кеша снижает производительность! Если вы здесь, потому что вы думали, что освобождение буферов и кеша было положительным моментом, иди и читайте, что Linux съел мою память! , Короткая история: свободная память - неиспользованная память - потраченная впустую память.
Ответы:
Очистка буфера кеша
Если вы когда-нибудь захотите очистить его, вы можете использовать эту цепочку команд.
Вы можете сообщить ядру Linux об удалении различных аспектов кэшированных элементов, изменив числовой аргумент на приведенную выше команду.
Чтобы освободить кеш страницы:
Чтобы освободить дентрии и иноды:
Чтобы освободить страничный кеш, дентри и иноды:
Вышеуказанное предназначено для запуска от имени пользователя root. Если вы пытаетесь использовать их,
sudo
вам нужно немного изменить синтаксис, например:ПРИМЕЧАНИЕ: есть более эзотерическая версия вышеупомянутой команды, если вы в это:
Почему изменение синтаксиса? Из-за этого
/bin/echo
программа работает как root,sudo
но оболочка, которая перенаправляет вывод эха в файл только для root, все еще работает как вы. Ваша текущая оболочка выполняет перенаправление передsudo
запуском.Видя, что в буферах и кеше
Посмотрите,
linux-ftools
хотите ли вы проанализировать содержимое буферов и кеша. В частности, если вы хотите увидеть, какие файлы в настоящее время кэшируются.fincore
С помощью этого инструмента вы можете увидеть, какие файлы кэшируются в заданном каталоге.
Например,
/var/lib/mysql/blogindex
:С помощью вышеприведенного вывода вы можете видеть, что в настоящее время кэшируются несколько файлов * .MYD, * .MYI и * .frm.
Поменять местами
Если вы хотите очистить свой своп, вы можете использовать следующие команды.
Затем используйте эту команду для отключения swap:
Вы можете подтвердить, что теперь он пуст:
И чтобы снова включить его:
А теперь подтвердите
free
:источник
tee
чтобы написать от имени пользователя root:echo 3 | sudo tee /proc/sys/vm/drop-caches