01-Linux系统调优
1、调整同时打开文件数量
ulimit -n 20480
2、TCP最大连接数(somaxconn)
echo 10000 > /proc/sys/net/core/somaxconn
3、TCP连接立即回收、回用(recycle、reuse)
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle
4、不做TCP洪水抵御
echo 0 > /proc/sys/net/ipv4/tcp_syncookies
5、在/etc/sysctl.conf中,插入以下命令
net.core.somaxconn = 20480 net.core.rmem_default = 262144 net.core.wmem_default = 262144 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 4096 4096 16777216 net.ipv4.tcp_wmem = 4096 4096 16777216 net.ipv4.tcp_mem = 786432 2097152 3145728 net.ipv4.tcp_max_syn_backlog = 16384 net.core.netdev_max_backlog = 20000 net.ipv4.tcp_fin_timeout = 15 net.ipv4.tcp_max_syn_backlog = 16384 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_max_orphans = 131072
修改以下命令
net.ipv4.tcp_syncookies = 0
注解以下命令,因为虚拟机内没有Bridge模块
#net.bridge.bridge-nf-call-ip6tables = 0 #net.bridge.bridge-nf-call-iptables = 0 #net.bridge.bridge-nf-call-arptables = 0
整体修改完毕后使用sysctl -p生效配置
sysctl -p
6、修改java参数,解决高峰期频繁broken pipe,socket....connection reset错误
vim /etc/profile
在最后加入
export _JAVA_SR_SIGNUM=12
使用 source /etc/profile 生效
source /etc/profile
7、修改 noproc 进程的最大数目,nofile 打开文件的最大数目
vim /etc/security/limits.conf
添加如下命令
* soft nofile 65535 * hard nofile 65535 * soft nproc 65535 * hard nproc 65535
修改后,使用ulimit -u(进程的最大数目),ulimit -n(打开文件的最大数目)查询配置是否正确
ulimit -u ulimit -n
切换至应用启动用户,若tomcat启动用户为gsdic,则切换至gsidc,使用ulimit -u(进程的最大数目),ulimit -n(打开文件的最大数目)查询配置是否正确,若未生效,则修改/etc/security/limits.d/90-nproc.conf 配置
vim /etc/security/limits.d/90-nproc.conf
在最后加入
* soft nproc 65535