查看memcached的内部状态
memcached有个名为stats的命令,使用它可以获得各种各样的信息。 执行命令的方法很多,用telnet最为简单:
$ telnet 主机名 端口号
连接到memcached之后,输入stats再按回车,即可获得包括资源利用率在内的各种信息。 此外,输入”stats slabs”或”stats items”还可以获得关于缓存记录的信息。 结束程序请输入quit。下面查看slabs的适用情况
stats slabs
结果如下:
属性说明,数据操作(get、set等)相关的属性就不说明了:
chunk_size | 当前slab chunk的大小 |
chunk_per_page | 每个page能够存放的chunk数 |
total_pages | 分配给当前slab的page总数 |
total_chunks | 当前slab最多能够存放的chunk数,应该等于chunck_per_page * total_page |
used_chunks | 已经被占用的chunks总数 |
free_chunks | 过期数据空出的chunk里还没有被使用的chunk数 |
free_chunks_end | 新分配的但是还没有被使用的chunk数 |
used_chunks, free_chunks, free_chunks_end这三个属性需要特别的关注,这三个属性可以反映出内存的适用情况。used_chunks就是字面的意思,已经使用的chunk数;
free_chunks曾经被使用过但是因为过期而被回收的chunk数;
free_chunks_end是page中从来没有被使用过的chunk数。
如果free_chunks_end的数过大,表明这部分slab内存不能有效的利用;如果过小表明很快就不够用了;两种情况都需要做调整来使内存达到合理的利用。