Я использую Memcached в RHEL / CentOS 5/6 и обнаружил несоответствие размера памяти между limit_maxbytes и maxbytes, взятыми из «статистики» и «настроек статистики» соответственно.
Я скомпилировал memcached-1.4.15 из источника и установил значение limit_maxbytes равным 5 ГБ, но maxbytes показывает только 904 МБ.
# ./memcached -l 127.0.0.1 -p 11211 -m 5000 -u nobody -vv
# echo "stats " | nc 127.0.0.1 11211 | grep limit_maxbytes
STAT limit_maxbytes 5242880000
# echo "stats settings" | nc 127.0.0.1 11211 | grep maxbytes
STAT maxbytes 947912704
Выселение происходит, когда он достигает значения maxbytes и не увеличивается. Есть ли причина для такого поведения ..?
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.4 (Santiago)
# uname -rop
2.6.32-358.14.1.el6.x86_64 x86_64 GNU/Linux
# file memcached
memcached: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped
У меня на этой коробке установлено 48ГБ. Обратите внимание, что я также использовал бинарные пакеты, но они остались прежними.
В моем ящике Memcached он работает нормально (1.4.5-1), но я думаю, что это связано с этой ошибкой: http://code.google.com/p/memcached/issues/detail?id=319