linux系统层面的优化浅知
很多时候,我们在linux系统中会需要调整一些默认的内核参数,特别是在高并发系统下,除了中间件nginx、tomcat、redis、mysql等等,系统层面的优化也是特别重要的,例如sysctl.conf中的下面这些选项参数:
kernel.sysrq = 1
net.core.netdev_max_backlog = 32768
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.wmem_max = 16777216
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.ip_local_port_range = 5000 65000
net.ipv4.neigh.default.gc_stale_time = 120
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 65530
net.ipv4.tcp_max_tw_buckets = 50000
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
vm.swappiness = 0
然而,在实际情况下,我们发现还会存在多多少少其它的问题,例如进程数、句柄数、文件描述符打开数等系统层的告警及错误,我们通常会调整下面这些:
/etc/security/limits.conf 文件中:
root soft nofile 65530
root hard nofile 65530
* soft nofile 32768
* hard nofile 32768
* soft nproc 32768
root soft nproc 65530
* hard nproc 32768
root hard nproc 65530
说明:类似于上面的文件修改调整一般我们需要重启系统以便生效。 通常对于生产环境,我们不方便重启,可以临时性的当前会话生效,例如:
#ulimit -SHn 65530
#ulimit -c 32768
如果希望每次登陆自动生效可以这么操作,这样一来,每次当前用户登陆就会自动生效了。(centos下示例):
#echo "ulimit -SHn 65530" >> ~/.bash_profile
#echo "ulimit -c 32768" >> ~/.bash_profile
本文标签: linux系统优化
内容版权声明:【蓝色网居】部分资源来源于网络,如有侵犯您的所有权,请随时告知我们,我们将立即删除!感谢配合!
【手机扫一扫查看文本】
head命令 转发 远程仓库 修改默认网段 tail shell判断 linux系统优化 日志管理 docker迁移 目录 history记录 rewrite操作 保留和删除 linux 自定义 phpmyadmin安装 常用的linux 持久化AOF 批量 常用案例 rediscluster python3 docker ssh代理 集群

