memcached啓動腳本

分享好用的memcached啓動腳本,如需修改啓動參數只需修改如下參數即可:

  1. MEMCACHED_CONF="-d -m 32 -l 127.0.0.1 -p 11211 -u www -c 1024 -P /tmp/memcached.pid" 

參數參考:

memcached 1.4.14
-p <num>      TCP port number to listen on (default: 11211)
-U <num>      UDP port number to listen on (default: 11211, 0 is off)
-s <file>     UNIX socket path to listen on (disables network support)
-a <mask>     access mask for UNIX socket, in octal (default: 0700)
-l <addr>     interface to listen on (default: INADDR_ANY, all addresses)
              <addr> may be specified as host:port. If you don't specify
              a port number, the value you specified with -p or -U is
              used. You may specify multiple addresses separated by comma
              or by using -l multiple times
-d            run as a daemon
-r            maximize core file limit
-u <username> assume identity of <username> (only when run as root)
-m <num>      max memory to use for items in megabytes (default: 64 MB)
-M            return error on memory exhausted (rather than removing items)
-c <num>      max simultaneous connections (default: 1024)
-k            lock down all paged memory.  Note that there is a
              limit on how much memory you may lock.  Trying to
              allocate more than that would fail, so be sure you
              set the limit correctly for the user you started
              the daemon with (not for -u <username> user;
              under sh this is done with 'ulimit -S -l NUM_KB').
-v            verbose (print errors/warnings while in event loop)
-vv           very verbose (also print client commands/reponses)
-vvv          extremely verbose (also print internal state transitions)
-h            print this help and exit
-i            print memcached and libevent license
-P <file>     save PID in <file>, only used with -d option
-f <factor>   chunk size growth factor (default: 1.25)
-n <bytes>    minimum space allocated for key+value+flags (default: 48)
-L            Try to use large memory pages (if available). Increasing
              the memory page size could reduce the number of TLB misses
              and improve the performance. In order to get large pages
              from the OS, memcached will allocate the total item-cache
              in one large chunk.
-D <char>     Use <char> as the delimiter between key prefixes and IDs.
              This is used for per-prefix stats reporting. The default is
              ":" (colon). If this option is specified, stats collection
              is turned on automatically; if not, then it may be turned on
              by sending the "stats detail on" command to the server.
-t <num>      number of threads to use (default: 4)
-R            Maximum number of requests per event, limits the number of
              requests process for a given connection to prevent
              starvation (default: 20)
-C            Disable use of CAS
-b            Set the backlog queue limit (default: 1024)
-B            Binding protocol - one of ascii, binary, or auto (default)
-I            Override the size of each slab page. Adjusts max item size
              (default: 1mb, min: 1k, max: 128m)
-o            Comma separated list of extended or experimental options
              - (EXPERIMENTAL) maxconns_fast: immediately close new
                connections if over maxconns limit
              - hashpower: An integer multiplier for how large the hash
                table should be. Can be grown at runtime if not big enough.
                Set this based on "STAT hash_power_level" before a
                restart.

完整腳本如下:

  1. #!/bin/sh 
  2. And add me to system start 
  3. # chmod +x memcached 
  4. # chkconfig --add memcached 
  5. # chkconfig --level 35 memcached on 
  6. # Written by centi.linux
  7. Last updated: 2012-08-17 
  8. # chkconfig:   - 85 15  
  9. # description:  Distributed memory caching daemon 
  10. # processname: memcached 
  11.  
  12. # Source function library. 
  13. . /etc/rc.d/init.d/functions 
  14.  
  15. # Source networking configuration. 
  16. . /etc/sysconfig/network 
  17.  
  18. Check that networking is up. 
  19. "$NETWORKING" = "no" ] && exit 0 
  20.  
  21. memcached="/usr/local/memcached/bin/memcached" 
  22. prog=$(basename $memcached) 
  23.  
  24. MEMCACHED_CONF="-d -m 32 -l 127.0.0.1 -p 11211 -u www -c 1024 -P /tmp/memcached.pid -vvv >/usr/local/memcached/memcached.txt 2>&1" " 
  25.  
  26. lockfile=/var/lock/subsys/memcached 
  27.  
  28. start() { 
  29.     [ -x $memcached ] || exit 5 
  30.     echo -n $"Starting $prog: " 
  31.     daemon $memcached $MEMCACHED_CONF 
  32.     retval=$? 
  33.     echo 
  34.     [ $retval -eq 0 ] && touch $lockfile 
  35.     return $retval 
  36.  
  37. stop() { 
  38.     echo -n $"Stopping $prog: " 
  39.     killproc $prog 
  40.     retval=$? 
  41.     echo 
  42.     [ $retval -eq 0 ] && rm -f $lockfile 
  43.     return $retval 
  44.  
  45. restart() { 
  46.     stop 
  47.     start 
  48.  
  49. rh_status() { 
  50.     status $prog 
  51.  
  52. rh_status_q() { 
  53.     rh_status >/dev/null 2>&1 
  54.  
  55.  
  56. case "$1" in 
  57.         start) 
  58.         $1 
  59.         rh_status_q || exit 0 
  60.         $1 
  61.         ;; 
  62.     stop) 
  63.         stop 
  64.         ;; 
  65.     restart|configtest) 
  66.         $1 
  67.         ;; 
  68.     status) 
  69.         rh_status 
  70.         ;; 
  71.     *) 
  72.          echo $"Usage: $0 {start|stop|status|restart}" 
  73.         exit 2 
  74. esac 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章