Назад | Перейти на главную страницу

Что такое «свободная память»?

В Amazon RDS есть показатель «освобождаемая память». Кажется, что он идет вверх и вниз по пилообразной схеме.

Это наводит меня на мысль, что MySQL использует для кэширования именно память и что по истечении срока действия кеша появляется больше свободной памяти. Любая окончательная документация была бы замечательной.

Он включает в себя кэшированную память и память, используемую для буферов (помимо того, что действительно свободно / не используется). Все они будут освобождены, если приложение запросит больше памяти, чем свободно.

Это в основном доступная оперативная память. См. Ответ от AWS здесь https://forums.aws.amazon.com/thread.jspa?threadID=209720 и официальная документация здесь http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_BestPractices.html.

Если у вас много свободной памяти, вы можете перейти на меньшую версию. Если у вас заканчивается свободная память, пора выполнить обновление.

Из этот вопрос и ответ на форуме AWS:

Освобождаемая память включает в себя объем физической памяти, оставшейся неиспользованной системой, плюс общий объем свободной и доступной буферной или страничной кеш-памяти.

Так что это свободная память для всей системы. Хотя MySQL является основным потребителем памяти на хосте, у нас есть внутренние процессы в дополнение к ОС, которые используют небольшой объем дополнительной памяти.

Если вы видите, что ваша свободная память близка к 0 или также начинаете видеть использование подкачки, вам может потребоваться масштабирование до более крупного класса экземпляра или корректировка настроек памяти MySQL. Например, уменьшение innodb_buffer_pool_size (по умолчанию установлено на 75% физической памяти) - это один из примеров настройки параметров памяти MySQL.

FreeableMemory - это память, используемая кешем ОС, и она будет возвращена, когда это необходимо, и не о чем беспокоиться.