Memcached 的 maxbytes 和 limit_maxbytes 值不一致

Memcached 的 maxbytes 和 limit_maxbytes 值不一致

我在 RHEL/CentOS 5/6 上使用 Memcached,发现分别从“stats”和“stats settings”获取的 limit_maxbytes 和 maxbytes 之间的内存大小不一致。

我已经从源代码编译了 memcached-1.4.15,并将 limit_maxbytes 值设置为 5GB,但 maxbytes 仅显示 904MB。

# ./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

当达到最大字节数值且不再增长时,就会发生驱逐。这种行为有什么原因吗?

# 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

我在这个盒子上安装了 48GB。请注意,我也使用了二进制包,但结果仍然一样。

答案1

在我的 Memcached 盒子上运行良好(1.4.5-1),但我认为这与这个错误有关: http://code.google.com/p/memcached/issues/detail?id=319

相关内容