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

Какой объем памяти я могу безопасно выделить для memcached?

Я собираюсь использовать memcached на нашем сервере. Мы только что обновили и получили довольно мощный бокс:

DELL PowerEdge R710 Linux
RHEL 5 - 64bit
12GB RAM

(Раньше мы использовали 32-битную коробку с 4 ГБ).

Проблема в том, что меня смущает, как Linux на самом деле использует память и как это отражается на моем графике munin.

Итак, судя по моему графику (или есть ли удобная команда, которую я могу использовать в консоли?), Сколько оперативной памяти я могу безопасно назначить для memcached. т.е. сколько оперативной памяти у меня есть?

редактировать: График хостинга изображений истек, поэтому удаление рекламы с сайта хостинга изображений.

Ну, у вас практически все время есть более 8G либо бесплатно (желтый, «неиспользованный»), либо в виде кеша (темно-синий). На мой взгляд, ваш верхний предел, выделяемый для memcached, составляет, возможно, 6 ГБ (плюс-минус), что по-прежнему оставит достаточно много места для других процессов и некоторого дискового кеша без реального риска подкачки. Можно также возразить, что можно выделить больше. Это дело вкуса, и реальные преимущества в производительности будут зависеть от вашего конкретного приложения.

Имейте в виду, что если вы укажете memcached использовать до 6 ГБ памяти, он не будет использовать столько, если вы не сохраните в нем 6 ГБ. Он будет потреблять только 1 ГБ, если вы храните в нем только 1 ГБ, даже если ограничение составляет 6 ГБ. Я бы порекомендовал вам добавить memcached к вашему мониторингу и следить за memcached bytes статистики и соответствующим образом ограничить использование памяти, чтобы система не сделала ничего неожиданного в случае неожиданного всплеска количества пользователей.

Из оболочки вы можете использовать free чтобы определить использование памяти, и он скажет что-то вроде этого:

             total       used       free     shared    buffers     cached
Mem:       4060096    3775976     284120          0     270828    1899720
-/+ buffers/cache:    1605428    2454668
Swap:       577528          0     577528

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