| 
 可以方便的用stats命令查看memcache的运行状态,首先用telnet 127.0.0.1 11211这样的命令连接上memcache。telnet到memcached服务器后有很多的命令可以使用,除了大家熟知的add、get、set、incr、decr、replace、delete等赋值命令外,还有一系列的获取服务器信息的命令,这部分命令都是以stats开头的。 一、memcached命令: -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 显示帮助
  
二、memcache的状态说明  
| pid | memcache服务器的进程ID |  | uptime | 服务器已经运行的秒数 |  | time | 服务器当前的unix时间戳 |  | version | memcache版本 |  | pointer_size | 当前操作系统的指针大小(32位系统一般是32bit) |  | rusage_user | 进程的累计用户时间 |  | rusage_system | 进程的累计系统时间 |  | curr_items | 服务器当前存储的items数量 |  | total_items | 从服务器启动以后存储的items总数量 |  | bytes | 当前服务器存储items占用的字节数 |  | curr_connections | 当前打开着的连接数 |  | total_connections | 从服务器启动以后曾经打开过的连接数 |  | connection_structures | 服务器分配的连接构造数 |  | cmd_get | get命令(获取)总请求次数 |  | cmd_set | set命令(保存)总请求次数 |  | get_hits | 总命中次数 |  | get_misses | 总未命中次数 |  | evictions | 为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items) |  | bytes_read | 总读取字节数(请求字节数) |  | bytes_written | 总发送字节数(结果字节数) |  | limit_maxbytes | 分配给memcache的内存大小(字节) |  | threads | 当前线程数 |  
  
三、查看memcache的状态实例  
1、stats :显示服务器信息、统计数据等  
 
                         stats  
 
STAT pid 13375 
STAT uptime 2147 
STAT time 1208694456 
STAT version 1.2.5 
STAT pointer_size 32 
STAT rusage_user 0.020000 
STAT rusage_system 0.010000 
STAT curr_items 0 
STAT total_items 0 
STAT bytes 0 
STAT curr_connections 2 
STAT total_connections 3 
STAT connection_structures 3 
STAT cmd_get 0 
STAT cmd_set 0 
STAT get_hits 0 
STAT get_misses 0 
STAT evictions 0 
STAT bytes_read 7 
STAT bytes_written 0 
STAT limit_maxbytes 67108864 
STAT threads 1 
END 
 
                 
 
 
2、stats malloc 显示内存分配数据  
 
                         
stats malloc 
 
STAT arena_size 708608 
STAT free_chunks 4 
STAT fastbin_blocks 0 
STAT mmapped_regions 65 
STAT mmapped_space 66752512 
STAT max_total_alloc 0 
STAT fastbin_space 0 
STAT total_alloc 614032 
STAT total_free 94576 
STAT releasable_space 94272 
END 
 
 
3、stats maps  是把/proc/self/maps的数据显示出来  
 
                                 
stats maps 
00365000-00378000 r-xp 00000000 08:01 149004     /lib/libnsl-2.3.4.so 
00378000-00379000 r--p 00012000 08:01 149004     /lib/libnsl-2.3.4.so 
00379000-0037a000 rw-p 00013000 08:01 149004     /lib/libnsl-2.3.4.so 
0037a000-0037c000 rw-p 0037a000 00:00 0 
0070c000-00722000 r-xp 00000000 08:01 147620     /lib/ld-2.3.4.so 
00722000-00723000 r--p 00015000 08:01 147620     /lib/ld-2.3.4.so 
00723000-00724000 rw-p 00016000 08:01 147620     /lib/ld-2.3.4.so 
00726000-0084c000 r-xp 00000000 08:01 147621     /lib/tls/libc-2.3.4.so 
0084c000-0084e000 r--p 00125000 08:01 147621     /lib/tls/libc-2.3.4.so 
0084e000-00850000 rw-p 00127000 08:01 147621     /lib/tls/libc-2.3.4.so 
00850000-00852000 rw-p 00850000 00:00 0 
00891000-0089f000 r-xp 00000000 08:01 147624     /lib/tls/libpthread-2.3.4.so 
0089f000-008a0000 r--p 0000d000 08:01 147624     /lib/tls/libpthread-2.3.4.so 
008a0000-008a1000 rw-p 0000e000 08:01 147624     /lib/tls/libpthread-2.3.4.so 
008a1000-008a3000 rw-p 008a1000 00:00 0 
008a5000-008b4000 r-xp 00000000 08:01 147628     /lib/libresolv-2.3.4.so 
008b4000-008b5000 r--p 0000f000 08:01 147628     /lib/libresolv-2.3.4.so 
008b5000-008b6000 rw-p 00010000 08:01 147628     /lib/libresolv-2.3.4.so 
008b6000-008b8000 rw-p 008b6000 00:00 0 
009c7000-009cf000 r-xp 00000000 08:01 149005     /lib/tls/librt-2.3.4.so 
009cf000-009d0000 r--p 00007000 08:01 149005     /lib/tls/librt-2.3.4.so 
009d0000-009d1000 rw-p 00008000 08:01 149005     /lib/tls/librt-2.3.4.so 
009d1000-009db000 rw-p 009d1000 00:00 0 
00d28000-00d3b000 r-xp 00000000 08:02 688822     /usr/local/sinawap/lib/libevent-1.4.so.2.0.0 
00d3b000-00d3c000 rw-p 00013000 08:02 688822     /usr/local/sinawap/lib/libevent-1.4.so.2.0.0 
00d3c000-00d3d000 rw-p 00d3c000 00:00 0 
08048000-08052000 r-xp 00000000 08:02 905179     /usr/local/sinawap/bin/memcached 
08052000-08053000 rw-p 0000a000 08:02 905179     /usr/local/sinawap/bin/memcached 
08053000-08056000 rw-p 08053000 00:00 0 
08499000-084ba000 rw-p 08499000 00:00 0 
b7f64000-b7fa8000 rw-p b7f64000 00:00 0 
bff9f000-c0000000 rw-p bff9f000 00:00 0 
ffffe000-fffff000 r-xp 00000000 00:00 0 
 
                         
 
 
4、stats slabs  
 
                         
stats slabs 
 
STAT 1:chunk_size 88 
STAT 1:chunks_per_page 11915 
STAT 1:total_pages 1 
STAT 1:total_chunks 11915 
STAT 1:used_chunks 11915 
STAT 1:free_chunks 0 
STAT 1:free_chunks_end 11914 
STAT active_slabs 1 
STAT total_malloced 1048520 
END 
 
                 
各字段说明 chunk_size 每个chunk(块)使用的空间数量,一个item存储到一个近似大小的chunk中 chunk_per_page 每page存在的chunk数量,slabs是按页(page)分配的,一页一般为1M,每个slab(也即每页)又划分为若干chunk,这里涉及到memcached的内存管理,这里不多解释,可以参考后面的附文。 total_pages 该slabclass分配到的page数量 total_chunks 该slabclass拥有的chunk数量 used_chunks 已经分配给item的chunk数量(不一定已经装填了item) free_chunks 尚未分配给item的chunk数量,或者由delete释放的chunk free_chunks_end slabclass中最后一页的自由块数量,即该slabclass尚有多少自由块可以用来装填item active_slabs 已分配的slabclass数量 total_malloced 已分配给slab page的内存数量 
 |