一、使用memcache top脚本
memcache-top 是一个用 Perl 编写的命令行小工具,用来实时的获取 memcached 缓存服务器的详细信息,例如缓存命中率等。到官网下载脚本,放到用户目录,直接运行即可。
/home/nihaoya/memcache-top
INSTANCE
USAGE
HIT %
CONN
TIME
EVICT/s READ/s
WRITE/s
10.50.11.5:11211
88.8%
69.6%
1123
1.9ms
0.3
13.1K
36.2K
10.50.11.5:11212
88.7%
69.6%
1175
0.6ms
0.3
12.4K
28.1K
10.50.11.5:11213
88.8%
69.4%
1148
0.7ms
0.0
16.6K
32.1K
10.50.12.5:11211
89.3%
81.5%
1460
0.7ms
0.3
17.7K
204.0K
10.50.12.5:11212
89.4%
69.3%
1174
0.6ms
1.0
28.9K
63.5K
10.50.12.5:11213
89.3%
69.4%
1158
0.7ms
0.7
166.3K
194.4K
10.50.15.5:11211
89.3%
71.8%
1472
0.8ms
0.0
37.3K
59.2K
10.50.15.5:11212
89.4%
69.3%
1143
0.7ms
0.7
44.9K
35.4K
10.50.15.5:11213
89.3%
84.5%
1371
0.7ms
0.7
49.0K
187.2K
10.50.9.90:11211
30.2%
76.3%
259
0.7ms
0.0
243
999
10.50.9.90:11212
19.2%
60.3%
261
0.7ms
0.0
40
801
10.50.9.90:11213
17.5%
16.9%
235
0.6ms
0.0
70
600
AVERAGE:
72.4%
67.3%
998
0.8ms
0.3
32.2K
70.2K
TOTAL:
23.4GB
11.7K
9.2ms
4.0
386.4K
842.3K
二、使用telnet方式,只能查看某个节点的
[nihaoya@SHANGH-39-DX-APP ~]# telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
stats
STAT pid 22362
//memcache服务器的进程ID
www.2cto.com
STAT uptime 1469315
//服务器已经运行的秒数
STAT time 1339671194
//服务器当前的unix时间戳
STAT version 1.4.9
//memcache版本
STAT libevent 1.4.9-stable
//libevent版本
STAT pointer_size 64
//当前操作系统的指针大小(32位系统一般是32bit,64就是64位操作系统)
STAT rusage_user 3695.485200
//进程的累计用户时间
STAT rusage_system 14751.273465
//进程的累计系统时间
STAT curr_connections 69
//服务器当前存储的items数量
STAT total_connections 855430
//从服务器启动以后存储的items总数量
STAT connection_structures 74
//服务器分配的连接构造数
STAT reserved_fds 20
//
STAT cmd_get 328806688
//get命令(获取)总请求次数
STAT cmd_set 75441133
//set命令(保存)总请求次数
www.2cto.com
STAT cmd_flush 34
//flush命令请求次数
STAT cmd_touch 0
//touch命令请求次数
STAT get_hits 253547177
//总命中次数
STAT get_misses 75259511
//总未命中次数
STAT delete_misses 4
//delete命令未命中次数
STAT delete_hits 565730
//delete命令命中次数
STAT incr_misses 0
//incr命令未命中次数
STAT incr_hits 0
//incr命令命中次数
STAT decr_misses 0
//decr命令未命中次数
STAT decr_hits 0
//decr命令命中次数
STAT cas_misses 0
//cas命令未命中次数
STAT cas_hits 0
//cas命令命中次数
STAT cas_badval 0
//使用擦拭次数
STAT touch_hits 0
//touch命令未命中次数
STAT touch_misses 0
//touch命令命中次数
STAT auth_cmds 0
//认证命令处理的次数
STAT auth_errors 0
//认证失败数目
STAT bytes_read 545701515844
//总读取字节数(请求字节数)
STAT bytes_written 1649639749866
//总发送字节数(结果字节数)
STAT limit_maxbytes 2147483648
//分配给memcache的内存大小(字节)
STAT accepting_conns 1
//服务器是否达到过最大连接(0/1)
STAT listen_disabled_num 0
//失效的监听数
STAT threads 4
//当前线程数
STAT conn_yields 14
//连接操作主动放弃数目
STAT hash_power_level 16
//
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT expired_unfetched 30705763
STAT evicted_unfetched 0
STAT bytes 61380700
//当前存储占用的字节数
STAT curr_items 28786
//当前存储的数据总数
STAT total_items 75441133
//启动以来存储的数据总数
STAT evictions 0
//为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items)
STAT reclaimed 39957976
//已过期的数据条目来存储新数据的数目
END
退出:quit或者ctrl + ] 然后在按q就行了。
安装telenet方法
1、yum install telnet-server 服务端
2、yum install telnet 客户端
3、vi /etc/xinetd.d/telnet
service telnet
{
}
将disable项由yes改成no。
4、/etc/init.d/xinetd restart
其他方式:
前项目中,linux下memcached的启动/结束的方式
默认情况下memcached安装到/usr/local/bin下。
进入安装目录,启动memcached:/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -u root
获取运行状态:echo stats | nc localhost 11211(可以查看出pid) 或使用ps -ef|grep memcached
停止memcached:kill -9 pid
(-9表示强制杀死,pid 为进程的进程标识符)
-d 选项是启动一个守护进程,
-m 是分配给Memcache使用的内存数量,单位是MB,这里是1024MB,默认是64MB
-u 是运行Memcache的用户,这里是root
-l 是监听的服务器IP地址,默认应该是本机
-p 是设置Memcache监听的端口,默认是11211,最好是1024以上的端口
-c 选项是最大运行的并发连接数,默认是1024,这里设置了10240,按照你服务器的负载量来设定
-P 是设置保存Memcache的pid文件位置
-h 打印帮助信息
-v 输出警告和错误信息
-vv 打印客户端的请求和返回信息
ps -ef|grep memcached(命令说明)
grep:功能说明:查找文件里符合条件的字符串。
|:管道命令操作符
ps(process status):功能说明:报告程序状况。
连接到 memcached:
telnet ip 端口,如telnet 192.168.100.11 11211
stats查看状态,flush_all:清楚缓存
查看memcached状态的基本命令,通过这个命令可以看到如下信息:
STAT pid 22459
进程ID
STAT uptime 1027046
服务器运行秒数
STAT time 1273043062
服务器当前unix时间戳
STAT version 1.4.4
服务器版本
STAT pointer_size 64
操作系统字大小(这台服务器是64位的)
STAT rusage_user 0.040000
进程累计用户时间
STAT rusage_system 0.260000
进程累计系统时间
STAT curr_connections 10
当前打开连接数
STAT total_connections 82
曾打开的连接总数
STAT connection_structures 13
服务器分配的连接结构数
STAT cmd_get 54
执行get命令总数
STAT cmd_set 34
执行set命令总数
STAT cmd_flush 3
指向flush_all命令总数
STAT get_hits 9
get命中次数
STAT get_misses 45
get未命中次数
STAT delete_misses 5
delete未命中次数
STAT delete_hits 1
delete命中次数
STAT incr_misses 0
incr未命中次数
STAT incr_hits 0
incr命中次数
STAT decr_misses 0
decr未命中次数
STAT decr_hits 0
decr命中次数
STAT cas_misses 0
cas未命中次数
STAT cas_hits 0
cas命中次数
STAT cas_badval 0
使用擦拭次数
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 15785
读取字节总数
STAT bytes_written 15222
写入字节总数
STAT limit_maxbytes 1048576
分配的内存数(字节)
STAT accepting_conns 1
目前接受的链接数
STAT listen_disabled_num 0
STAT threads 4
线程数
STAT conn_yields 0
STAT bytes 0
存储item字节数
STAT curr_items 0
item个数
STAT total_items 34
item总数
STAT evictions 0
为获取空间删除item的总数
另外一个例子:
启动/结束
-d 选项是启动一个守护进程,
-m 是分配给Memcache使用的内存数量,单位是MB,这里是10MB
-u 是运行Memcache的用户,这里是root
-l 是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.122
-p 是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口
-c 选项是最大运行的并发连接数,默认是1024,这里设置了256,按照你服务器的负载量来设定
-P 是设置保存Memcache的pid文件
kill `cat /tmp/memcached.pid`
获取运行状态
echo stats | nc 192.168.1.123 11200
watch "echo stats | nc 192.168.1.123 11200" (实时状态)