NAME¶
memcached - high-performance memory object caching system
SYNOPSIS¶
memcached [
options]
DESCRIPTION¶
This manual page documents briefly the
memcached memory object caching
daemon.
memcached is a flexible memory object caching daemon designed to
alleviate database load in dynamic web applications by storing objects in
memory. It's based on libevent to scale to any size needed, and is
specifically optimized to avoid swapping and always use non-blocking I/O.
OPTIONS¶
These programs follow the usual GNU command line syntax. A summary of options is
included below.
- -s <file>
- Unix socket path to listen on (disables network
support).
- -a <perms>
- Permissions (in octal format) for Unix socket created with
-s option.
- -l <ip_addr>
- Listen on <ip_addr>; default to INADDR_ANY. This is
an important option to consider as there is no other way to secure the
installation. Binding to an internal or firewalled network interface is
suggested.
- -d
- Run memcached as a daemon.
- -u <username>
- Assume the identity of <username> (only when run as
root).
- -m <num>
- Use <num> MB memory max to use for object storage;
the default is 64 megabytes.
- -c <num>
- Use <num> max simultaneous connections; the default
is 1024.
- -R <num>
- This option seeks to prevent client starvation by setting a
limit to the number of sequential requests the server will process from an
individual client connection. Once a connection has exceeded this value,
the server will attempt to process I/O on other connections before
handling any further request from this connection. The default value for
this option is 20.
- -k
- Lock down all paged memory. This is a somewhat dangerous
option with large caches, so consult the README and memcached homepage for
configuration suggestions.
- -p <num>
- Listen on TCP port <num>, the default is port
11211.
- -U <num>
- Listen on UDP port <num>, the default is port 11211,
0 is off.
- -M
- Disable automatic removal of items from the cache when out
of memory. Additions will not be possible until adequate space is freed
up.
- -r
- Raise the core file size limit to the maximum
allowable.
- -f <factor>
- Use <factor> as the multiplier for computing the
sizes of memory chunks that items are stored in. A lower value may result
in less wasted memory depending on the total amount of memory available
and the distribution of item sizes. The default is 1.25.
- -n <size>
- Allocate a minimum of <size> bytes for the item key,
value, and flags. The default is 48. If you have a lot of small keys and
values, you can get a significant memory efficiency gain with a lower
value. If you use a high chunk growth factor (-f option), on the other
hand, you may want to increase the size to allow a bigger percentage of
your items to fit in the most densely packed (smallest) chunks.
- -C
- Disable the use of CAS (and reduce the per-item size by 8
bytes).
- -h
- Show the version of memcached and a summary of
options.
- -v
- Be verbose during the event loop; print out errors and
warnings.
- -vv
- Be even more verbose; same as -v but also print client
commands and responses.
- -vvv
- Be extremely verbose; same of the above and also print
internal state transitions.
- -i
- Print memcached and libevent licenses.
- -I
- Override the size of each slab page in bytes. In mundane
words, it adjusts the maximum item size that memcached will accept. You
can use the suffixes K and M to specify the size as well, so
use 2000000 or 2000K or 2M if you want a maximum size of 2 MB per object.
It is not recommended to raise this limit above 1 MB due just to
performance reasons. The default value is 1 MB.
- -P <filename>
- Print pidfile to <filename>, only used under -d
option.
- -t <threads>
- Number of threads to use to process incoming requests. It
is typically not useful to set this higher than the number of CPU cores on
the memcached server. Setting a high number (64 or more) of worker threads
is not recommended. The default is 4.
- -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.
- -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. Only available if
supported on your OS.
- -B <proto>
- Specify the binding protocol to use. By default, the server
will autonegotiate client connections. By using this option, you can
specify the protocol clients must speak. Possible options are
"auto" (the default, autonegotiation behavior),
"ascii" and "binary".
- -I <size>
- Override the default size of each slab page. Default is
1mb. Default is 1m, minimum is 1k, max is 128m. Adjusting this value
changes the item size limit. Beware that this also increases the number of
slabs (use -v to view), and the overal memory usage of memcached.
- -o <options>
- Comma separated list of extended or experimental options.
See -h or wiki for up to date list.
LICENSE¶
The memcached daemon is copyright Danga Interactive and is distributed under the
BSD license. Note that daemon clients are licensed separately.
SEE ALSO¶
The README file that comes with memcached
http://www.danga.com/memcached
AUTHOR¶
The memcached daemon was written by Anatoly Vorobey
<mellon@pobox.com> and Brad Fitzpatrick
<brad@danga.com> and the rest of the crew of Danga Interactive
http://www.danga.com