关闭SELINUX
若我们的生产服务器已经针对安全性做了一些处理,例如VPN、跳板机、堡垒机等,那建议将SELINUX关闭掉。查看SElinux服务的运行状态:
[root@node01 ~]# getenforce
Enforcing
为避免重启服务器,我们可以先临时关闭再永久关闭。临时关闭:
[root@node01 ~]# setenforce 0
永久关闭:
[root@node01 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
验证:
[root@node01 ~]# cat /etc/selinux/config
SELINUX=disabled即为永久关闭:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
使用Overcommit
建议使用Overcommit,设为1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何:
[root@node01 ~]# echo 1 | sudo tee /proc/sys/vm/overcommit_memory
1
上面的配置在系统重启后会失效,永久生效的命令为:
[root@node01 ~]# echo "vm.overcommit_memory=1" > /etc/sysctl.conf
[root@node01 ~]# sysctl -p /etc/sysctl.conf
不使用交换区
消除交换内存到虚拟内存时对性能的扰动。为避免重启服务器,可先临时调整再永久调整。
查看当前值:
[root@node01 ~]# cat /proc/sys/vm/swappiness
30
临时调整:
[root@node01 ~]# echo 0 | sudo tee /proc/sys/vm/swappiness
永久修改:
[root@node01 ~]# echo vm.swappiness=0 >> /etc/sysctl.conf
[root@node01 ~]# sysctl -p
禁用Transparent Huge Pages
查看透明大页的设置和启动状态:
[root@node01 ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never
[root@node01 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
输出结果为[always]表示透明大页已启用,[never]表示透明大页禁用,[madvise]表示只在MADV_HUGEPAGE标志的VMA中使用THP。
临时关闭:
[root@node01 ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@node01 ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
永久关闭(将临时关闭命令添加到/etc/rc.d/rc.local文件中,并赋予执行权限):
[root@node01 ~]# echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.d/rc.local
[root@node01 ~]# echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.d/rc.local
[root@node01 ~]# chmod a+x /etc/rc.d/rc.local
验证:
[root@node01 ~]# cat /etc/rc.d/rc.local
TCP连接缓冲队列设置
1)tcp_abort_on_overflow
[root@node01 ~]# echo 1 | sudo tee /proc/sys/net/ipv4/tcp_abort_on_overflow
1
2)somaxconn
[root@node01 ~]# echo 1024 | sudo tee /proc/sys/net/core/somaxconn
1024
这两个设置在系统重启后也会失效,若希望永久生效,也可以将其追加至/etc/rc.d/rc.local中:
[root@node01 ~]# echo 'echo 1 > /proc/sys/net/ipv4/tcp_abort_on_overflow' >> /etc/rc.d/rc.local
[root@node01 ~]# echo 'echo 1024 > /proc/sys/net/core/somaxconn' >> /etc/rc.d/rc.local
再次验证:
[root@node01 ~]# cat /etc/rc.d/rc.local
最大用户进程数设置
[root@node01 ~]# ulimit -u
14989
临时生效:
[root@node01 ~]# ulimit -u 40960
永久修改:
[root@node01 ~]# vi /etc/security/limits.conf
末尾添加下面的内容后,保存退出。
* soft nproc 40960
* hard nproc 40960
高并发配置
如果集群负载的并发度较高,建议添加以下配置:
[root@node01 ~]# echo 120000 > /proc/sys/kernel/threads-max
[root@node01 ~]# echo 60000 > /proc/sys/vm/max_map_count
[root@node01 ~]# echo 200000 > /proc/sys/kernel/pid_max
若需要配置永久生效,也可以参考上文的方式将其添加至/etc/rc.d/rc.local中。