博客是我工作的好帮手,遇到困难就来博客找资料
分类: 系统运维
2014-12-12 09:39:43
安装过程中指定
./configure --prefix=/usr/local/memcached-1.4 --with-libevent=/usr/local/libevent-1.4.2/
则启动memcached时候
#cd /usr/local/bin //进入到该目录
# ./memcached -d -m 900 -u root -l 192.168.100.186 -p 11211 -c 256 -P /tmp/memcached.pid
//启动memcached 启动参数说明:
启动参数说明:
-d 选项是启动一个守护进程,
-m 是分配给Memcache使用的内存数量,单位是MB,默认64MB
-M return error on memory exhausted (rather than removing items)
-u 是运行Memcache的用户,如果当前为root 的话,需要使用此参数指定用户。
-l 是监听的服务器IP地址,默认为所有网卡。
-p 是设置Memcache的TCP监听的端口,最好是1024以上的端口
-c 选项是最大运行的并发连接数,默认是1024
-P 是设置保存Memcache的pid文件
-f
-I Override the size of each slab page. Adjusts max item size(1.4.2版本新增)
也可以启动多个守护进程,但是端口不能重复
停止Memcache进程:
kill `cat /tmp/memcached.pid`
默认情况下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 打印客户端的请求和返回信息
连接到 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的总数
另外一个例子:
启动/结束
memcached -d -m 10 -u root -l 192.168.0.122 -p 11200 -c 256 -P /tmp/memcached.pid
-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" (实时状态)
1.安装libevent
由于Memcached是用libevent库来处理很多打开的连接,所以要先安装libevent。
(libevent API提供了一种执行回调函数的机制,使一个文件描述符触发了某个事件或者在达到超时之后执行这个回调函数。)
下载libevent,最新版本为libevent-1.4.7-stable
引用
# wget -P /tmp ~provos/libevent-1.4.7-stable.tar.gz
解压缩并安装
引用
# cd /tmp
# tar zxvf libevent-1.4.7-stable.tar.gz
# cd libevent-1.4.7-stable
# ./configure --prefix=/usr
# make
# make install
2.安装memcached
下载memcached,最新版本为memcached-1.2.6
引用
# wget -P /tmp
解压缩并安装
引用
# cd /tmp
# tar zxvf memcached-1.2.6.tar.gz
# cd memcached-1.2.6
# ./configure --with-libevent=/usr
# make
# make install
3.启动memcached
引用
sudo /usr/local/bin/memcached -d -m 2048 -u root -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid
参数说明:
-d 启动为守护进程
-m
-u
-l
-p
-c
-P
还有一些参数具体请参考:
引用
# /usr/local/bin/memcached -h
4.结束memcached
引用
# kill `/tmp/memcached.pid`
做成service
#!/bin/sh
#
# memcached: MemCached Daemon
#
# chkconfig: - 90 25
# description: MemCached Daemon
#
# Source function library.
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
#[ ${NETWORKING} = "no" ] && exit 0
#[ -r /etc/sysconfig/dund ] || exit 0
#. /etc/sysconfig/dund
#[ -z "$DUNDARGS" ] && exit 0
start()
{
echo -n $"Starting memcached: "
daemon $MEMCACHED -u daemon -d -m 1024 -l 127.0.0.1 -p 11211
echo
}
stop()
{
echo -n $"Shutting down memcached: "
killproc memcached
echo
}
MEMCACHED="/usr/local/memcached/bin/memcached"
[ -f $MEMCACHED ] || exit 1
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 3
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
#!/bin/sh
#
# memcached: MemCached Daemon
#
# chkconfig: - 90 25
# description: MemCached Daemon
#
# Source function library.
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
start()
{
echo -n $"Starting memcached: "
daemon /usr/local/bin/memcached -u daemon -d -m 4096 -l 10.10.10.220 -p 58728
echo
}
stop()
{
echo -n $"Shutting down memcached: "
killproc memcached
echo
}
[ -f /usr/local/bin/memcached ] || exit 0
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
;;
condrestart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|condrestart}"
exit 1
esac
exit 0
在上述指定目录创建了上述某一个脚本以后,就可以进行以下操作:
[root@crm ~]# chkconfig --add memcached
[root@crm ~]# chkconfig --level 235 memcached on
[root@crm ~]# chkconfig --list | grep mem
memcached 0:off 1:off 2:on 3:on 4:off 5:on 6:off
接下来,可以用以下命令启动与停止 memcached
/etc/rc.d/init.d/memcached start
/etc/rc.d/init.d/memcached stop
/etc/rc.d/init.d/memcached restart
如:
[root@crm ~]# /etc/rc.d/init.d/memcached restart
Shutting down memcached: [ OK ]
Starting memcached: [ OK ]
同时,还可以用:
service memcached start
这样的命令操作