memcached支持以下选项:
-u user
如果您启动memcached为
root
,请使用该-u
选项指定执行 memcached的用户:$> memcached -u memcache
-m memory
设置分配给 memcached用于对象存储的内存量。默认为 64MB。
要增加分配给高速缓存的内存量,请使用该
-m
选项指定要分配的 RAM 量(以兆字节为单位)。您分配的 RAM 越多,您可以存储的数据就越多,因此您的缓存就越有效。警告不要指定大于可用 RAM 的内存分配。如果您指定的值太大,则为memcached分配的一些 RAM 会使用交换空间,而不是物理 RAM。这可能会导致存储和检索值时出现延迟,因为数据被交换到磁盘,而不是直接存储在 RAM 中。
您可以使用vmstat 命令的输出来获取空闲内存,如
free
列中所示:$> vmstat kthr memory page disk faults cpu r b w swap free re mf pi po fr de sr s1 s2 -- -- in sy cs us sy id 0 0 0 5170504 3450392 2 7 2 0 0 0 4 0 0 0 0 296 54 199 0 0 100
例如,要分配 3GB 的 RAM:
$> memcached -m 3072
在使用 PAE 访问超过 4GB 限制的内存的 32 位 x86 系统上,您不能分配超过最大进程大小的 RAM。您可以通过运行memcached的多个实例来解决这个问题,每个实例监听不同的端口:
$> memcached -m 1024 -p11211 $> memcached -m 1024 -p11212 $> memcached -m 1024 -p11213
笔记在所有系统上,尤其是 32 位系统,请确保 除了内存设置之外,还为memcached应用程序留出足够的空间。例如,如果您有一个具有 4GB RAM 的专用 memcached主机,请不要将内存大小设置为超过 3500MB。如果不这样做,可能会导致意外退出或严重的性能问题。
-l interface
指定网络接口/地址以侦听连接。默认是监听所有可用地址 (
INADDR_ANY
)。$> memcached -l 198.51.100.110
在memcached 1.2.5 中添加了对 IPv6 地址的支持 。
-p port
指定用于连接的 TCP 端口。默认值为 18080。
$> memcached -p 18080
-U port
指定用于连接的 UDP 端口。默认值为 11211,0 关闭 UDP。
$> memcached -U 18080
-s socket
指定要侦听的 Unix 套接字。
如果您在与客户端相同的服务器上运行memcached
-s
,则可以使用以下 选项禁用网络接口并使用本地 Unix 套接字:$> memcached -s /tmp/memcached
使用 Unix 套接字会自动禁用网络支持,并节省网络端口(允许您的 Web 服务器或其他进程使用更多端口)。
-a mask
以八进制指定要用于 Unix 套接字的访问掩码。默认为 0700。
-c connections
指定与memcached服务 的最大同时连接数。默认值为 1024。
$> memcached -c 2048
使用此选项可以减少连接数(以防止memcached 服务过载)或增加连接数以更有效地利用运行memcached服务器的 服务器。
-t threads
指定处理传入请求时要使用的线程数。
默认情况下,memcached配置为使用 4 个并发线程。线程提高了在缓存中存储和检索数据的性能,使用锁定系统来防止不同的线程覆盖或更新相同的值。要增加或减少线程数,请使用以下
-t
选项:$> memcached -t 8
-d
将memcached作为守护进程(后台)进程 运行:
$> memcached -d
-r
最大化核心文件限制的大小。如果发生故障,这将尝试将整个内存空间作为核心文件转储到磁盘,直到达到 setrlimit施加的任何限制。
-M
当内存耗尽时,向客户端返回一个错误。这取代了从缓存中删除旧项目以为新项目让路的正常行为。
-k
锁定所有分页内存。这会在使用前保留内存,而不是在新项目存储在缓存中时分配新的内存块。
笔记您可以锁定多少内存有用户级别的限制。尝试分配超过可用内存的内存失败。您可以
-u user
使用ulimit -S -l NUM_KB在 shell 中为启动守护程序的用户(不是用户)设置限制-v
详细模式。在执行主事件循环时打印错误和警告。
-vv
非常冗长的模式。除了由 打印的信息外
-v
,还打印每个客户端命令和响应。-vvv
极其冗长的模式。除了 打印的信息外
-vv
,还显示内部状态转换。-h
打印帮助信息并退出。
-i
打印memcached和
libevent
许可证。-I mem
指定允许在memcached实例中存储对象的最大大小。大小支持单位后缀(
k
千字节,m
兆字节)。例如,要将支持的最大对象大小增加到 32MB:$> memcached -I 32m
您可以指定的最大对象大小为 128MB,默认值保持为 1MB。
此选项是在 1.4.2 中添加的。
-b
设置积压队列限制。积压队列配置有多少网络连接可以等待memcached处理。增加此限制可能会减少客户端收到的无法连接到memcached实例的错误,但不会提高服务器的性能。默认值为 1024。
-P pidfile
将memcached 实例 的进程 ID 保存到
file
.-f
设置块大小增长因子。在分配新内存块时,新块的分配大小由默认的 slab 大小乘以该因子确定。
要在不进行大量测试的情况下查看此选项的效果,请使用
-vv
命令行选项来显示计算出的楼板尺寸。有关详细信息,请参阅 第 16.2.2.9 节,“ memcached日志”。-n bytes
为key+value+flags信息分配的最小空间。默认值为 48 字节。
-L
在支持大内存页的系统上,启用大内存页使用。使用大内存页面使 memcached能够在一个大块中分配项目缓存,这可以通过减少访问内存时的未命中数来提高性能。
-C
禁止使用比较和交换 (CAS) 操作。
此选项是在memcached 1.3.x 中添加的。
-D char
设置用作键前缀和 ID 之间分隔符的默认字符。这用于每个前缀的统计报告(请参阅 第 16.2.4 节,“获取memcached统计信息”)。默认为冒号 (
:
)。如果使用此选项,统计信息收集将自动打开。stats detail on
如果不使用,您可以通过向服务器发送命令来 启用统计信息收集 。此选项是在memcached 1.3.x 中添加的。
-R num
设置每个事件进程的最大请求数。默认值为 20。
-B protocol
设置绑定协议,即客户端连接默认的 memcached协议支持。选项是
ascii
,binary
或auto
。自动 (auto
) 是默认设置。此选项是在memcached 1.4.0 中添加的。