可优化的节点系统参数列表
CCE提供默认的节点系统参数在某些用户场景下可能出现性能瓶颈,因此用户可对部分节点系统参数进行自定义优化,节点系统参数如可优化的节点系统参数列表所示。
- 修改节点系统参数具有一定的风险,需要您对Linux命令和Linux系统知识具有较高程度的了解,避免误操作引起节点故障。
- 表1中的参数已经过测试验证,请勿自行修改其他参数以免引起节点故障。
- 修改节点系统参数的命令仅在使用公共镜像时有效,使用私有镜像时本文中提供的命令仅供参考。
- 节点重启后需执行sysctl -p用于刷新参数值。
参数名称 |
参数位置 |
说明 |
参考文档 |
---|---|---|---|
kernel.pid_max |
/etc/sysctl.conf |
节点进程 ID数量上限。 查看参数: sysctl kernel.pid_max |
|
RuntimeMaxUse |
/etc/systemd/journald.conf |
节点日志缓存内存占用量上限,若不配置长时间运行会占用较大内存。 查看参数: cat /etc/systemd/journald.conf | grep RuntimeMaxUse |
|
Openfiles |
/etc/security/limits.conf |
节点单进程最大文件句柄数,可视业务情况调整。 查看参数: ulimit -n |
|
(Openfiles容器内部) LimitNOFILE LimitNPROC |
|
容器内部单进程最大文件句柄数,可视业务情况调整。 查看参数:
docker节点:
cat /proc/`pidof dockerd`/limits | grep files
containerd节点:
cat /proc/`pidof containerd`/limits | grep files |
|
file-max |
/etc/sysctl.conf |
系统整体最大文件句柄数,可视业务情况调整。 查看参数: sysctl fs.file-max |
|
nf_conntrack_buckets nf_conntrack_max |
/etc/sysctl.conf |
连接跟踪表容量,可视业务场景调整。 计算桶占用率= [nf_conntrack_count] / [nf_conntrack_buckets]。 通过调整buckets值,将占用率调整至0.7以下。 查看参数: sysctl net.netfilter.nf_conntrack_count sysctl net.netfilter.nf_conntrack_buckets sysctl net.netfilter.nf_conntrack_max |
|
net.netfilter.nf_conntrack_tcp_timeout_close |
/etc/sysctl.conf |
连接跟踪表里处于close状态连接的表项的过期时间,缩短过期时间可加快回收。 查看参数: sysctl net.netfilter.nf_conntrack_tcp_timeout_close |
|
net.netfilter.nf_conntrack_tcp_be_liberal |
/etc/sysctl.conf |
参数值为0或1。
查看参数: sysctl net.netfilter.nf_conntrack_tcp_be_liberal |
|
tcp_keepalive_time |
/etc/sysctl.conf |
TCP超时时长,即发送keepalive探测消息的间隔时间。参数值过大可能导致TCP挥手时间过长,长时间下造成大量连接卡在Close_wait阶段,耗尽系统资源。 查看参数: sysctl net.ipv4.tcp_keepalive_time |
|
tcp_max_syn_backlog |
/etc/sysctl.conf |
TCP最大半连接数,SYN_RECV 队列中的最大连接数。 查看参数: sysctl net.ipv4.tcp_max_syn_backlog |
|
tcp_max_tw_buckets |
/etc/sysctl.conf |
指定任何时候允许存在的处于“time-wait”状态的最大套接字数,参数值过大时易耗尽节点资源。 查看参数: sysctl net.ipv4.tcp_max_tw_buckets |
|
net.core.somaxconn |
/etc/sysctl.conf |
TCP最大连接数,该参数控制TCP连接队列的大小。参数值过小时极易不足,设置过大则可能会导致系统资源的浪费,因为连接队列中每个等待连接的客户端都需要占用一定的内存资源。 查看参数: sysctl net.core.somaxconn |
|
max_user_instances |
/etc/sysctl.conf |
每个用户允许的最大 inotify 实例数,参数值过小时容器场景下极易不足。 查看参数: sysctl fs.inotify.max_user_instances |
|
max_user_watches |
/etc/sysctl.conf |
所有监视实例的最大目录数,参数值过小时容器场景极易不足。 查看参数: sysctl fs.inotify.max_user_watches |
|
netdev_max_backlog |
/etc/sysctl.conf |
网络协议栈收包队列大小,参数值过小时极易不足。 查看参数: sysctl net.core.netdev_max_backlog |
|
net.core.wmem_max net.core.rmem_max |
/etc/sysctl.conf |
收发缓冲区内存大小(字节),参数值过小时大文件场景下易不足。 查看参数: sysctl net.core.wmem_max sysctl net.core.rmem_max |
|
net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 |
/etc/sysctl.conf |
ARP表项的垃圾回收调优。
查看参数: sysctl net.ipv4.neigh.default.gc_thresh1 sysctl net.ipv4.neigh.default.gc_thresh2 sysctl net.ipv4.neigh.default.gc_thresh3 |
|
vm.max_map_count |
/etc/sysctl.conf |
参数值过小时,安装elk时会提示不足。 查看参数: sysctl vm.max_map_count |