memcached增加内存使用量limit_maxbytes

792 阅读技术资料limit_maxbytes memcached
0

memcached启动命令如下:

/usr/local/lib/memcached -d -m 2048 -u root -c 1024 -p 11211 -P /tmp/memcached1.pid

其中,-m 2048就表示占用内存。使用LNMP或者oneinstack时,默认占用的内存比较小,修改方法是编辑:/etc/init.d/memcached,在MAXCONN=1024下方添加:CACHESIZE=512 #单位 M,默认 256M,可调整 。

原来的启动命令如下:

start-stop-daemon --start --quiet --pidfile /var/run/memcached/memcached.$1.pid --exec $DAEMON -- -d -p $PORT -u $USER  -m $2 -c $MAXCONN -P /var/run/memcached/memcached.$1.pid $OPTIONS
  RETVAL=$?

我们改成:

start-stop-daemon --start --quiet --pidfile /var/run/memcached/memcached.$1.pid --exec $DAEMON -- -d -p $PORT -u $USER  -m $CACHESIZE -c $MAXCONN -P /var/run/memcached/memcached.$1.pid $OPTIONS
  RETVAL=$?

然后:service memcached restart#重启生效

什么时候需要修改占用内存使用量呢?看limit_maxbytes、bytes

memcached在存储的时候是可以设置失效时间的,但如果存储已经满了,那旧数据即使没有到过期时间,也会被移除。所以需要观察memcached存储是否已经满了,同时这对扩容也是有意义的参考。limit_maxbytes即总的存储大小,而bytes就是已经使用的大小,从这两个数据就可以看出在memcached启动时,我们为它分配的内存是否足够使用。

如果你不确定你是否有足够的内存,你可以通过查看evictions”的值来确定Memcache实例的内存使用情况,如果还有足够的内存,那么“evictions”的值应该为0或者不再增长。

evictions:为了给新的数据项目释放空间,从缓存移除的缓存对象的数目。比如超过缓存大小时根据LRU算法移除的对象,以及过期的对象。


分享到:
编辑问题于

Login

Welcome! Login in to your account

Remember me Lost your password?

Don't have account. Register

Lost Password

Register