- 前言
- limits.conf
- 1、open files
- 2、max user processes
- sysctl.conf
- 1、tcp流程图
- 2、具体
- 扩展知识点
- tcp连接数查看
- 配置说明
- 总结
前言
linux系统调优包括两个文件,一个是limits.conf文件,一个是sysctl.conf文件,这两个文件分别在/etc/secriuty/limits.conf和/etc/sysctl.conf下
limits.conf 1、open files- 是针对同一个进程里限制的
- 全局限制的话:/proc/sys/fs/file-max
- 可以看到限制的大小:ulimit -a (里面有个open files参数)
- 修改成65535
- 具体进程打开文件的数量:lsof -p pid| wc -l
- lsof:list open file的意思
#临时修改 ulimit -n #永久修改 vim /etc/security/limits.conf 在最后加入: * soft nofile 65535 * hard nofile 655352、max user processes
- 用户最大进程数
- ulimit -a 进行查看
#临时修改 ulimit -u 65535 #永久修改 vim /etc/security/limits.conf 在最后加入: * soft noproc 65535 * hard noproc 65535sysctl.conf
这个系统参数文件,我主要说下有关tcp方面的配置优化
1、tcp流程图 2、具体 扩展知识点- linux要关闭time_wait的线程,需要1分钟
- tcp线程数量是针对单个ip:port
- A服务调用B服务,A服务中会生成一个tcp连接,B那边不会
- 查看特定线程连接数 netstat -nat|grep -i “80”|wc -l
- 查看总体tcp连接(每一条):netstat -n|awk ‘/^tcp/’
- 查看总体tcp连接(总体):netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’
- cat /proc/sys/net/ipv4/tcp_tw_reuse(是否允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭,这个参数尽量使用0,长连接情况下,改成1会有问题
- cat /proc/sys/net/ipv4/tcp_tw_recycle(是否开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭,使用0,不要改成1)
vim /etc/sysctl.conf net.ipv4.tcp_syncookies= 1 #开启SYNCookies。当SYN等待队列溢出时,启用cookies处理,可防范少量SYN攻击,默认0,表关闭; net.ipv4.tcp_tw_reuse= 0 #开启重用。允许将TIME-WAITsockets重用于新的TCP连接,默认0,表示关闭; net.ipv4.tcp_tw_recycle= 0 #开启TCP连接中TIME-WAITsockets的快速回收,默认0,表关闭; net.ipv4.tcp_fin_timeout= 30 #修改系統默认的 TIMEOUT 时间。 net.ipv4.tcp_keepalive_time= 1200 #当keepalive起用时,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。 net.ipv4.ip_local_port_range= 1024 65535 #用于向外连接的端口范围。缺省情况下很小,改为1024到65535。 net.ipv4.tcp_max_syn_backlog= 8192 #SYN队列长度,默认为1024,加大队列长度为8192,可容纳更多等待连接的网络连接数。 net.ipv4.tcp_max_tw_buckets= 5000 #表示系统同时保持TIME_WAIT最大数量,如果超过,TIME_WAIT将立刻被清除并打印警告信息。默认180000,改为5000。此项参数可控制TIME_WAIT 最大数量。 #输入下面的命令,让内核参数生效: sysctl -p总结
学无止境,与君共勉!



