Почему Ubuntu не освобождает память?

Я работаю с apache2 + php и другими приложениями веб-сервера.

У меня есть монитор как сеанс подключения к веб-серверу. Оперативная память заполнена.

Но при отключении сеанса он не освобождает оперативную память.

У меня есть монитор через free -m, и он показывает неизданную память, даже когда сеанс не подключен.

Есть ли решение?

8
задан 6 August 2014 в 21:13

1 ответ

Можно освободить неиспользованную память с помощью этой команды:

sudo sync & sysctl -w vm.drop_caches=3

Эта команда синхронизирует кэшированные данные, и затем пишет параметр ОС во времени выполнения, расположенном по телефону /proc/sys/vm/drop_caches. Этот параметр читается ядром однажды, затем свободный неиспользованная память.

В основном, ядро резервирует три раздела в кэше, который мог увеличить использование памяти:

  • pagecache
  • dentries
  • inodes

, Пишущий в этот параметр, заставит ядро отбрасывать чистый pagecaches, dentries и inodes от RAM, заставляя ту память стать свободным. Существует три значения, которые могут быть присвоены:

  1. vm.drop_caches=1 свободный pagecaches.
  2. vm.drop_caches=2 свободный dentries и inodes.
  3. vm.drop_caches=3 свободный pagecaches, dentries и inodes.

Важный: После выполнения это возвратится к нормальному состоянию, что означает, начинают кэшировать pagecaches, dentries и inodes снова. Использование это в зависимости от Вашей конфигурации сервера и приложения.

0
ответ дан 6 August 2014 в 21:13

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

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