云服务器内容精选

  • 默认kernel.pid_max说明 CCE在2022年1月底将1.17及以上集群的节点公共操作系统EulerOS 2.5、CentOS 7.6、Ubuntu 18.04镜像kernel.pid_max默认值调整为4194304,满足如下两个条件节点的kernel.pid_max值为4194304。 集群版本:1.17.17及以上版本 节点创建时间:2022年1月30日之后 如果不满足如上两个条件,EulerOS 2.5、CentOS 7.6、Ubuntu 18.04上kernel.pid_max默认值32768。 表1 节点kernel.pid_max默认值 操作系统 1.17.9及以下版本集群 1.17.17及以上版本集群 2022年1月30日及之前创建的节点 2022年1月30日之后创建的节点 EulerOS 2.5 32768 32768 4194304 CentOS 7.6 32768 32768 4194304 Ubuntu 18.04 不涉及 32768 4194304 EulerOS 2.3 57344 57344 57344 EulerOS 2.9 不涉及 4194304 4194304 修改建议 EulerOS 2.3:所有节点都涉及,建议您将kernel.pid_max取值修改为4194304,具体方法请参见修改节点kernel.pid_max。且后续创建节点和节点池时配置安装前脚本修改kernel.pid_max,具体方法请参见配置节点池kernel.pid_max和创建节点时配置kernel.pid_max EulerOS 2.5、CentOS 7.6、Ubuntu 18.04: 对于1.17.17及以上版本集群2022年1月30日及之前创建的节点,建议您将kernel.pid_max取值修改为4194304,具体方法请参见修改节点kernel.pid_max。 对于1.17.9及以下版本集群 存量节点建议您将kernel.pid_max取值修改为4194304,具体方法请参见修改节点kernel.pid_max。 如果新创建节点和节点池,建议配置安装前脚本修改kernel.pid_max,具体方法请参见配置节点池kernel.pid_max和创建节点时配置kernel.pid_max。
  • 修改节点单进程最大文件句柄数 登录节点,查看/etc/security/limits.conf文件。 cat /etc/security/limits.conf 节点单进程最大文件句柄数通过以下参数设置: ... root soft nofile 65535 root hard nofile 65535 * soft nofile 65535 * hard nofile 65535 通过sed命令修改最大文件句柄数,其中65535为最大文件句柄数的建议取值。EulerOS 2.3节点/etc/security/limits.conf中没有nofile相关的默认配置,因此不能通过sed命令进行修改。 sed -i "s/nofile.[0-9]*$/nofile 65535/g" /etc/security/limits.conf 重新登录节点,执行以下命令检查是否修改成功,当返回与修改值一致时说明修改正确。 # ulimit -n 65535
  • 修改容器单进程最大文件句柄数 登录节点,查看/usr/lib/systemd/system/docker.service文件。 CentOS/EulerOS系统: docker节点: cat /usr/lib/systemd/system/docker.service containerd节点: cat /usr/lib/systemd/system/containerd.service Ubuntu系统: docker节点: cat /lib/systemd/system/docker.service containerd节点: cat /lib/systemd/system/containerd.service LimitNOFILE或LimitNPROC参数设置为infinity时,表示容器单进程最大文件句柄数为1048576。 容器单进程最大文件句柄数通过以下参数设置: ... LimitNOFILE=1048576 LimitNPROC=1048576 ... 执行如下命令修改两个参数,其中1048576为最大文件句柄数的建议取值。 修改容器最大文件句柄数将会重启docker/containerd进程,请知悉。 CentOS/EulerOS系统: docker节点: sed -i "s/LimitNOFILE=[0-9a-Z]*$/LimitNOFILE=1048576/g" /usr/lib/systemd/system/docker.service;sed -i "s/LimitNPROC=[0-9a-Z]*$/LimitNPROC=1048576/g" /usr/lib/systemd/system/docker.service && systemctl daemon-reload && systemctl restart docker containerd节点: sed -i "s/LimitNOFILE=[0-9a-Z]*$/LimitNOFILE=1048576/g" /usr/lib/systemd/system/containerd.service;sed -i "s/LimitNPROC=[0-9a-Z]*$/LimitNPROC=1048576/g" /usr/lib/systemd/system/containerd.service && systemctl daemon-reload && systemctl restart containerd Ubuntu系统: docker节点: sed -i "s/LimitNOFILE=[0-9a-Z]*$/LimitNOFILE=1048576/g" /lib/systemd/system/docker.service;sed -i "s/LimitNPROC=[0-9a-Z]*$/LimitNPROC=1048576/g" /lib/systemd/system/docker.service && systemctl daemon-reload && systemctl restart docker containerd节点: sed -i "s/LimitNOFILE=[0-9a-Z]*$/LimitNOFILE=1048576/g" /usr/lib/systemd/system/containerd.service;sed -i "s/LimitNPROC=[0-9a-Z]*$/LimitNPROC=1048576/g" /usr/lib/systemd/system/containerd.service && systemctl daemon-reload && systemctl restart containerd 查看容器单进程最大文件句柄数,当返回与修改值一致时说明修改正确。 docker节点: # cat /proc/`pidof dockerd`/limits | grep files Max open files 1048576 1048576 files containerd节点: # cat /proc/`pidof containerd`/limits | grep files Max open files 1048576 1048576 files
  • 节点系统参数可优化列表 CCE提供默认的节点系统参数在某些用户场景下可能出现性能瓶颈,因此用户可对部分节点系统参数进行自定义优化,节点系统参数如节点系统参数可优化列表所示。 修改节点系统参数具有一定的风险,需要您对Linux命令和Linux系统知识具有较高程度的了解,避免误操作引起节点故障。 表1中的参数已经过测试验证,请勿自行修改其他参数以免引起节点故障。 修改节点系统参数的命令仅在使用公共镜像时有效,使用私有镜像时本文中提供的命令仅供参考。 节点重启后需执行sysctl -p用于刷新参数值。 表1 系统参数可优化列表 参数名称 参数位置 说明 参考文档 kernel.pid_max /etc/sysctl.conf 节点进程 ID数量上限。 查看参数: sysctl kernel.pid_max 修改节点进程 ID数量上限kernel.pid_max RuntimeMaxUse /etc/systemd/journald.conf 节点日志缓存内存占用量上限,若不配置长时间运行会占用较大内存。 查看参数: cat /etc/systemd/journald.conf | grep RuntimeMaxUse 修改节点日志缓存内存占用量上限RuntimeMaxUse Openfiles /etc/security/limits.conf 节点单进程最大文件句柄数,可视业务情况调整。 查看参数: ulimit -n 修改节点单进程最大文件句柄数 (Openfiles容器内部) LimitNOFILE LimitNPROC CentOS/EulerOS系统: /usr/lib/systemd/system/docker.service Ubuntu系统: /lib/systemd/system/docker.service 容器内部单进程最大文件句柄数,可视业务情况调整。 查看参数: cat /proc/`pidof dockerd`/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_countsysctl net.netfilter.nf_conntrack_bucketssysctl 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。 0:表示关闭,所有不在TCP窗口中的RST包都被标志为无效。 1:表示开启,只有不在TCP窗口内的RST包被标志为无效。容器场景下,开启这个参数可以避免NAT过的TCP连接带宽受限。 查看参数: 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最大连接数,ESTABLISHED 队列的最大大小,参数值过小时极易不足。 查看参数: 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_maxsysctl 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_thresh1sysctl net.ipv4.neigh.default.gc_thresh2sysctl net.ipv4.neigh.default.gc_thresh3 vm.max_map_count /etc/sysctl.conf 参数值过小时,安装elk时会提示不足。 查看参数: sysctl vm.max_map_count 父主题: 节点系统参数优化