hmzone 发表于 2018-12-25 06:15:51

linux下启动和停止memcached

  安装过程中指定
  ./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
  -Mreturn error on memory exhausted (rather than removing items)
  -u是运行Memcache的用户,如果当前为root 的话,需要使用此参数指定用户。
  -l   是监听的服务器IP地址,默认为所有网卡。
  -p是设置Memcache的TCP监听的端口,最好是1024以上的端口
  -c选项是最大运行的并发连接数,默认是1024
  -P是设置保存Memcache的pid文件

  -f      chunk>
  -I   Override the>  也可以启动多个守护进程,但是端口不能重复
  停止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 http://www.monkey.org/~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 http://danga.com/memcached/dist/memcached-1.2.6.tar.gz
  解压缩并安装
  引用
  # 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分配给Memcached使用的内存数量,单位是MB,默认为64MB
  -u运行Memcached的用户,仅当作为root运行时
  -l监听的服务器IP地址,默认为环境变量INDRR_ANY的值
  -p设置Memcached监听的端口,最好是1024以上的端口
  -c设置最大并发连接数,默认为1024
  -P设置保存Memcached的pid文件,与-d选择同时使用
  还有一些参数具体请参考:
  引用
  # /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
  在上述指定目录创建了上述某一个脚本以后,就可以进行以下操作:
  # chkconfig--add memcached
  # chkconfig--level 235memcachedon
  # 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/memcachedstart
  /etc/rc.d/init.d/memcachedstop
  /etc/rc.d/init.d/memcachedrestart
  如:
  # /etc/rc.d/init.d/memcachedrestart
  Shutting down memcached:
  Starting memcached:      
  同时,还可以用:
  service memcached start
  这样的命令操作

页: [1]
查看完整版本: linux下启动和停止memcached