关注ulimit命令
ulimit -a
最大打开文件数
常用案例日志:java.net.SocketException:Too many open files 打开太多的文件句柄
ulimit -n
#修改相关配置文件
/etc/security/limits.conf
#配置内容
* soft nofile 65536
* hard nofile 65536
注意修改后,退出应用或用户,java应用需要重启服务
最大用户数配置
ulimit -u
#修改以下配置文件(centos6.x)
/etc/security/limits.d/90-nproc.conf
#配置内容
* soft nproc 65536
root soft nproc unlimited
注意修改后,退出应用或用户,java应用需要重启服务
系统内核参数调优
常见案例日志:kernel:ip_conntrack:table ful ,dropping packet
具体原因内核参数IP链表满导致的
ip_conntack_max参数
#(centos5.x)
/proc/sys/net/ipv4/netfilter/ip_conntrack_max 或者
/proc/sys/net/ipv4/ip_conntrack_max
#(centos6.x)
/proc/sys/net/netfilter/nf_conntrack_max
#在/etc/sysctl.conf 配置文件中加入以下配置
#(centos5.x)
net.ipv4.netfilter.ip_conntrack_max = 655360
#(centos5.x)
net.nf_conntrack_max = 100000
注意:如果有硬件防火墙时,可以直接关掉内置防火墙,无需设置
swappiness参数
表示使用swap的概率,此值越大,表示使用swap的概率越大,推荐配置如下:
查看目前配置
cat /proc/sys/vm/swappiness
添加如下内容到/etc/sysctl.conf
vm.swappiness = 10
表示当内存使用率超过(100-10)90%时,才开始使用swap
注意:如果是Redis服务器应该设置为0,不然Redis会检查报错
线上web服务器配置参考(每天3亿的量)
具体相关配置可以自己查询
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_max_syn_backlog = 20000
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_time = 120
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_max_tw_buckets = 80000
net.ipv4.tcp_keepalive_time = 120
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_max_syn_backlog = 20000
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_max_orphans = 3276800
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_max_tw_buckets = 500000
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5
net.nf_conntrack_max = 2097152














网友评论