Memcached服务启动及启动参数介绍

科技资讯

启动实例/usr/bin/memcached -d -m 2048 -u memcached -c 1024 -p 11211 -P /tmp/memcached.pid

常用参数

-d 是否以daemon守护进程模式运行

-m 使用该参数值设置缓冲区大小(最大内存)和-l 参数互相影响超出则被LRU 算法清理

-c 最大连接数

-u 启动用户

-l 监听地址

-p 监听端口

-P pid位置配置

-U udp端口设置 不常用 防止udp攻击要小心设置

-R num 这是一个为了防止某些客户端被饿死而设置的选项。num 的默认值是”20″。 参数 num 表示服务器在同一个连接内最多连续处理 num 个请求。 一旦某连接连续处理的请求数超过了 num 的限制,服务器将会转而去处理其他连接的请求, 直到其他连接的请求全部处理完毕(或者也达到了上限)之后,才会回过头来继续处理此连接上剩余的请求。

-k 锁定所有分页内存(paged memory)。这个选项在缓冲区比较大的时候使用可能会有些危险。

-M 禁止在缓冲区不够用的时候自动移除缓存对象。这样将会导致缓冲区满时无法添加新对象。

-r 将核心文件尺寸限制加大到最大值 -f factor 将 factor 用作计算每个缓存项所占内存块大小的乘数(multiplier)。默认值是”1.25″。 也许较小的乘数会减少内存的浪费,但实际效果取决于可用内存总量以及不同缓存项大小的分布状况。 -n size 最少为每个缓存对象的”key, value, flags”分配 size 字节。默认值为 48 。 如果你有大量的小”key,value”对,减小此值将会大大提高内存的利用效率。 另一方面,如果你使用”-f”选项指定了较大的块膨胀系数(chunk growth factor), 那么你应当增加此值以让更高比例的缓存项更适合稠密的压缩内存块。

-C 禁止使用CAS(可以为每个缓存项节约8个字节的空间) -h 显示版本号和选项列表后退出 -v 在事件循环过程中打印详细的错误和警告消息 -vv 显示更加详细的消息,也就是在”-v”的基础上打印客户端命令和应答 -i 打印 memcached 和 libevent 的许可证 -P filename 将进程号(PID)保存在 filename 中,仅在使用了”-d”选项后才有意义。

-t threads 使用 threads 个线程来处理接入请求。将此值设置为超过总的CPU核心数只会弄巧成拙。默认值是 4 。 -D char 使用 char 作为key前缀和ID之间的分隔符,这将用于每一个前缀状态报告。默认值是冒号(:)。 明确指定此选项后状态收集器将被自动打开,否则可以通过向服务器发送”stats detail on”命令来开启。

-L 尽量使用大内存页(如果可用)使用时需要编译支持。使用大内存页可以增大TLB缓存命中概率,从而提升内存性能。 此选项仅在内核支持大内存页(CONFIG_TRANSPARENT_HUGEPAGE,CONFIG_HUGETLBFS)的系统上有意义。

-B proto 指定要使用的绑定协议。默认值”auto”表示由服务器与客户端进行协商。 而”ascii”和”binary”则明确表示仅允许使用确定的协议。

-I size 指定每个slab/slub页的默认大小。默认值是”1m”。允许的最小值是”1k”,允许的最大值是”128m”。 改变此项同时也改变了每个缓存项的尺寸上限。 增大此项的同时也增大了slab/slub页的数量(可以使用 -v 查看),以及 memcached 的内存总使用量。

-F 禁用”flush_all”命令。 cmd_flush 计数器仍然会增加,但是客户端将会收到”刷新动作未被执行”的错误消息。 -o options 逗号分隔的扩展或实验性选项的列表。参见 -h 或 wiki 以获取这些选项。

-s file 指定在那个文件上监听 Unix socket (不使用TCP/IP网络)

-a perms 指定”-s”选项创建的 Unix socket 文件的权限(八进制)

 

继续阅读