内核调优
ulimit 优化(系统资源限制设置)
vim /etc/security/limits.conf
注:①一般soft的值会比hard小,也可相等。
②
/etc/security/limits.d/
里面配置会覆盖/etc/security/limits.conf
的配置 ③只有root用户才有权限修改/etc/security/limits.conf
④如果limits.conf没有做设定,则默认值是1024
该文件中添加
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
* soft memlock unlimited
* hard memlock unlimited
网友的版本
* soft core unlimit
* hard core unlimit
* soft fsize unlimited
* hard fsize unlimited
* soft data unlimited
* hard data unlimited
* soft nproc 65535
* hard nproc 63535
* soft stack unlimited
* hard stack unlimited
* soft nofile 409600
* hard nofile 409600
nproc 最大进程数
nofile 最大文件打开数
* 表示修改所有用户的限制
设置限制数量,第一列表示用户,* 表示所有用户
soft nproc :单个用户可用的最大进程数量(超过会警告);
hard nproc:单个用户可用的最大进程数量(超过会报错);
soft nofile :可打开的文件描述符的最大数(超过会警告);
hard nofile :可打开的文件描述符的最大数(超过会报错);
ulimit -a #查看当前系统的所有限制值
ulimit -n # 查看用户同时打开的文件数
cat /proc/sys/fs/file-max 查看Linux系统级的最大打开文件数限制
“soft” 和 “hard” 的区别
soft xxx : 代表警告的设定,可以超过这个设定值,但是超过后会有警告。 hard xxx : 代表严格的设定,不允许超过这个设定的值。
如:soft 设为1024,hard设为2048 ,则当你使用数在11024之间时可以随便使用,10242048时会出现警告信息,大于2048时,就会报错。
“nproc” 和 "nofile"的区别
nproc : 是操作系统级别对每个用户创建的进程数的限制 nofile : 是每个进程可以打开的文件数的限制
内核优化
vim /etc/sysctl.conf
在该文件中添加:
vm.swappiness = 0 fs.file-max = 655360
vm.max_map_count = 262144
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.tcp_max_orphans = 409600
net.core.netdev_max_backlog = 40960
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 1000 65000
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_retries1 = 3
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_syncookies = 1
net.core.somaxconn = 40960
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 8192
net.netfilter.nf_conntrack_max = 655350
net.netfilter.nf_conntrack_tcp_timeout_established = 1200
net.core.rmem_max = 8388608
net.core.rmem_default = 65536
net.core.wmem_max = 8388608
net.core.wmem_default = 65536
net.ipv4.tcp_mem = 8388608 8388608 8388608
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 65536 8388608
net.ipv4.ip_conntrack_max = 65536
net.ipv4.netfilter.ip_conntrack_max = 65536
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180
sysctl -p # 保存退出之后执行,使参数永久生效
解释
vm.swappiness = 0
fs.file-max = 655360
#系统打开最大文件句柄的数量。
vm.max_map_count = 262144
#最大内存映射区域数。
net.ipv6.conf.all.disable_ipv6 = 1
#关闭ipv6
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.tcp_max_orphans = 409600
#系统中允许存在多少tcp套接字不被关联到任何一个用户文件 句柄上,可防止Dos。
net.