Я собираюсь использовать 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
Свободна неиспользуемая память, кешируется дисковый кеш. Свободная память со временем будет использоваться в качестве дискового кеша, поэтому вполне безопасно считать память, используемую в качестве кеша, свободной, даже если она используется в данный момент для чего-то полезного.