sysctl.conf优化

本文指导如何通过调整sysctl.conf文件来优化Ubuntu Server的系统配置,以充分利用硬件资源,包括改进内存管理、调整网络安全性选项、优化网络性能、增加并发连接数等措施。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sysctl.conf

Ubuntu server out of box is not optimized to make full use of available hardware. This means “out-of-box” setup might fail under high load.

So we need to tweak system configuration for maximum concurrancy.

Sysctl Tweaks

Open

vim /etc/sysctl.conf

Add following towards bottom

### IMPROVE SYSTEM MEMORY MANAGEMENT ###

# Increase size of file handles and inode cache
fs.file-max = 2097152

# Do less swapping
vm.swappiness = 10
vm.dirty_ratio = 60
vm.dirty_background_ratio = 2

### GENERAL NETWORK SECURITY OPTIONS ###

# Number of times SYNACKs for passive TCP connection.
net.ipv4.tcp_synack_retries = 2

# Allowed local port range
net.ipv4.ip_local_port_range = 2000 65535

# Protect Against TCP Time-Wait
net.ipv4.tcp_rfc1337 = 1

# Decrease the time default value for tcp_fin_timeout connection
net.ipv4.tcp_fin_timeout = 15

# Decrease the time default value for connections to keep alive
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 15

### TUNING NETWORK PERFORMANCE ###

# Default Socket Receive Buffer
net.core.rmem_default = 31457280

# Maximum Socket Receive Buffer
net.core.rmem_max = 12582912

# Default Socket Send Buffer
net.core.wmem_default = 31457280

# Maximum Socket Send Buffer
net.core.wmem_max = 12582912

# Increase number of incoming connections
net.core.somaxconn = 65536

# Increase number of incoming connections backlog
net.core.netdev_max_backlog = 65536

# Increase the maximum amount of option memory buffers
net.core.optmem_max = 25165824

# Increase the maximum total buffer-space allocatable
# This is measured in units of pages (4096 bytes)
net.ipv4.tcp_mem = 65536 131072 262144
net.ipv4.udp_mem = 65536 131072 262144

# Increase the read-buffer space allocatable
net.ipv4.tcp_rmem = 8192 87380 16777216
net.ipv4.udp_rmem_min = 16384

# Increase the write-buffer-space allocatable
net.ipv4.tcp_wmem = 8192 65536 16777216
net.ipv4.udp_wmem_min = 16384

# Increase the tcp-time-wait buckets pool size to prevent simple DOS attacks
net.ipv4.tcp_max_tw_buckets = 1440000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1

Load Changes

Run following command to load changes to sysctl.

sysctl -p

Useful Systcl Commands

This section is added to main post after Ovidiu’s comment.

Show all system parameters with their values (default or changed)

sysctl -A

Show values of parameters modified by you

sysctl -p

Show value for a single parameter  parameter-name

sysctl parameter-name

Change value for  a single parameter parameter-name without editing sysctl.conf manually.

sysctl -w parameter-name=parameter-value

Above command will overwrite any previous modifications to parameter-name. Also, you may need to surround parameter-value with quotes.

I do not have in-depth explanation for all parameters. Comments will guide you somewhat.

You can check https://rtcamp.com/tutorials/linux/increase-open-files-limit/ for more details about fs.file-max

Credits

We do not have expertise to tweak linux at such level. So following links helped. They differ from most configs as they offered some explanation about parameters which helped us understand what we are picking and why!

  1. http://klaver.it/linux/sysctl.conf
  2. https://github.com/GoTux/Configs/blob/master/99-sysctl.conf

转载于:https://www.cnblogs.com/raffeale/p/4596056.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值