stats 命令

STAT pid 1552

STAT uptime 3792

STAT time 1262517674

STAT version 1.2.6

STAT pointer_size 32

STAT curr_items 1

STAT total_items 2

STAT bytes 593

STAT curr_connections 2

STAT total_connections 28

STAT connection_structures 9

STAT cmd_get 3

STAT cmd_set 2

STAT get_hits 2

STAT get_misses 1

STAT evictions 0

STAT bytes_read 1284

STAT bytes_written 5362

STAT limit_maxbytes 67108864

STAT threads 1

END

这里显示了很多状态信息,下边详细解释每个状态项:

1. pid: memcached服务进程的进程ID

2. uptime: memcached服务从启动到当前所经过的时间,单位是秒。

3. time: memcached服务器所在主机当前系统的时间,单位是秒。

4. version: memcached组件的版本。这里是我当前使用的1.2.6。

5. pointer_size:服务器所在主机操作系统的指针大小,一般为32或64.

6. curr_items:表示当前缓存中存放的所有缓存对象的数量。不包括目前已经从缓存中删除的对象。

7. total_items:表示从memcached服务启动到当前时间,系统存储过的所有对象的数量,包括目前已经从缓存中删除的对象。

8. bytes:表示系统存储缓存对象所使用的存储空间,单位为字节。

9. curr_connections:表示当前系统打开的连接数。

10. total_connections:表示从memcached服务启动到当前时间,系统打开过的连接的总数。

11. connection_structures:表示从memcached服务启动到当前时间,被服务器分配的连接结构的数量,这个解释是协议文档给的,具体什么意思,我目前还没搞明白。

12. cmd_get:累积获取数据的数量,这里是3,因为我测试过3次,第一次因为没有序列化对象,所以获取数据失败,是null,后边有2次是我用不同对象测试了2次。

13. cmd_set:累积保存数据的树立数量,这里是2.虽然我存储了3次,但是第一次因为没有序列化,所以没有保存到缓存,也就没有记录。

14. get_hits:表示获取数据成功的次数。

15. get_misses:表示获取数据失败的次数。

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

17. bytes_read:memcached服务器从网络读取的总的字节数。

18. bytes_written:memcached服务器发送到网络的总的字节数。

19. limit_maxbytes:memcached服务缓存允许使用的最大字节数。这里为67108864字节,也就是是64M.与我们启动memcached服务设置的大小一致。

20. threads:被请求的工作线程的总数量。


一、缓存命中率 = get_hits/cmd_get * 100%

二、get_misses的数字加上get_hits应该等于cmd_get

三、total_items == cmd_set == get_misses,当可用最大内存用光时,memcached就会删掉一些内容,等式就会不成立



stats items

输出各个slab中的item的数目和最老item的年龄(最后一次访问距离现在的秒数) .

stats slabs

输出slab中更详细的item信息

stats sizes

输出所有item的大小和个数

stats cachedump <slab_id> <limit_num>

根据<slab_id>输出相同的<slab_id>中的item信息。<limit_num>是输出的个数,当<limit_num>为0是输出所有的item。

flush_all

使在内存中所有的item失效。加入参数则表示在N秒后失效所有item。这项操作会立即返回,不会暂停服务器。这个操作并不会真的释放内存空间,而是标志所有的item为失效


stats detail [on|off|dump]

设置或者显示详细操作记录

参数为on,打开详细操作记录

参数为off,关闭详细操作记录

参数为dump,显示详细操作记录(每一个键值get、set、hit、del的次数)


stats malloc

显示内存分配数据

-p 监听的端口

-l 连接的IP地址, 默认是本机

-d start 启动memcached服务

-d restart 重起memcached服务

-d stop|shutdown 关闭正在运行的memcached服务

-d install 安装memcached服务

-d uninstall 卸载memcached服务

-u 以的身份运行 (仅在以root运行的时候有效)

-m 最大内存使用,单位MB。默认64MB

-M 内存耗尽时返回错误,而不是删除项

-c 最大同时连接数,默认是1024

-f 块大小增长因子,默认是1.25

-n 最小分配空间,key+value+flags默认是48

-h 显示帮助


查看Memcached当时状态

printf "stats\r\n" | nc 127.0.0.1 11211

查看Memcached实时状态

watch "printf 'stats\r\n' | nc 127.0.0.1 11211"