linux内核优化,直接修改/etc/sysctl.conf
执行 sysctl -p立即生效
# 每个端口监听队列最大长度
net.core.somaxconn = 65535
# 增加系统文件描述符限制
fs.file-max = 65535
# 当网络接受速率大于内核处理速率时,允许发送到队列中的包数目
net.core.netdev_max_backlog = 65535 #
# 保持未连接的包最大数量
net.ipv4.tcp_max_syn_backlog = 65535
# 控制tcp链接等待时间 加快tcp链接回收
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
# 决定tcp接受缓冲区的大小,设置大一些比较好
net.core.wmem_default = 8388608
net.core.wmem_max = 16777216
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
# 对于tcp失效链接占用系统资源的优化,加快资源回收效率
net.ipv4.tcp_keepalive_time = 120 # 链接有效时间
net.ipv4.tcp_keepalive_intvl = 30 # tcp未获得相应时重发间隔 ---
net.ipv4.tcp_keepalive_probes = 3 # 重发数量 ---
net.ipv4.tcp_timestamps = 0 # 优化tcp三次握手syn-ack
net.ipv4.tcp_mem = 94500000 915000000 927000000 # tcp内存分配,可以根据本地物理内存调试单位是Byte
net.ipv4.tcp_max_orphans = 3276800 # 最大孤儿套接字,单位个
net.ipv4.tcp_sack = 0 # tcp检测不必要的重传
net.ipv4.ip_local_port_range = 1024 65535 # tcp并发连接优化
net.ipv4.tcp_fin_timeout = 60
# 内核相关参数
# 共享内存下容纳innodb缓冲池的大小
kernel.shmmax = 4294967285 # 4G 大小一般为物理内存-1byte
kernel.hung_task_timeout_secs = 0
kernel.core_pattern = /var/log/core.%t #core文件保存位置和文件名格式
vm.swappiness = 0 # linux除非没有足够内存时才使用交换分区
原文地址:http://blog.51cto.com/songhl/2177514
时间: 2024-10-18 17:53:16