优化Linux服务器的一些参数

生产环境跑的Linux服务器,默认的一些参数有时候需要调整,以下是个小总结,大部分内容来源自网络上别人的经验。

首先,调整网络方面的参数:

[root@banping conf]# vi /etc/sysctl.conf
# add by banping
net.ipv4.tcp_max_syn_backlog = 65536
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 = 2097152 3145728 4194304
net.ipv4.tcp_max_orphans = 3276800

net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 1024  65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30

查看网络连接状态:

[root@banping ~]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
SYN_RECV 3
CLOSE_WAIT 40
ESTABLISHED 73
FIN_WAIT1 6
FIN_WAIT2 2
TIME_WAIT 900

在OS级别设置打开文件的最大数目:

[root@banping conf]# vi /etc/security/limits.conf
#add by banping
* soft nofile 65536
* hard nofile 65536

设置单个进程能打开的句柄数:

[root@rtweb conf]# vi /etc/profile
# add by banping
ulimit -SHn 65536

查看每个进程打开的句柄数:

[root@banping ~]# lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more
    164 4522
    163 19230
    125 25142
    ......

前面是打开的句柄数,后面是进程ID,可以据此判断是什么进程。

优化Linux服务器的一些参数》上有3条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>