无忧启动论坛
标题:
20251228-Linux系统参数优化-家庭用
[打印本页]
作者:
fulibo
时间:
前天 18:36
标题:
20251228-Linux系统参数优化-家庭用
东拼西凑的不知道哪里需要整改!
放上来让老大们看看!
#参数需通过sysctl -w临时修改或写入/etc/sysctl.conf永久生效,修改后需执行sysctl -p加载
# 网络优化
#网络性能优化, 开启MTU
net.ipv4.tcp_mtu_probing = 1
#开启SYN Cookies,当出现SYN等待队列溢出时,启用cookies来处理
net.ipv4.tcp_syncookies = 1
#开启TCP连接复用功能,允许将time_wait sockets重新用于新的TCP连接(主要针对time_wait连接)
net.ipv4.tcp_tw_reuse = 1
#缩短主动关闭连接时的 FIN-WAIT-2 状态持续时间,加速资源回收
net.ipv4.tcp_fin_timeout = 15
#记录的那些尚未收到客户端确认信息的连接请求的最大值。对于有128M内存的系统而言,缺省值是1024,小内存的系统则是128
net.ipv4.tcp_max_syn_backlog = 2048
#web应用中listen函数的backlog默认会给我们内核参数的net.core.somaxconn限制到128,而nginx定义的NGX_LISTEN_BACKLOG默认为511,所以有必要调整这个值
net.core.somaxconn = 65535
net.netfilter.nf_conntrack_max=1048576
#调整连接跟踪哈希桶大小(需为2的幂)
net.netfilter.nf_conntrack_buckets=65536
#每个套接字所允许的最大辅助缓冲区(ancillary buffer)的大小,单位为字节
net.core.optmem_max = 81920
#每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
net.core.netdev_max_backlog = 2000
#对外连接端口范围
net.ipv4.ip_local_port_range = 1024 65535
# 安全性增强
#启用反向路径过滤,防止 IP 欺骗攻击。
net.ipv4.conf.all.rp_filter = 1
#启用源路由核查功能
net.ipv4.conf.default.rp_filter = 1
# 处理无源路由的包
net.ipv4.conf.all.accept_source_route = 0
#禁用所有IP源路由;禁止接受源路由包,避免中间人攻击。
net.ipv4.conf.default.accept_source_route = 0
# 避免放大攻击, 忽略广播地址的 ICMP 请求,防止广播风暴
net.ipv4.icmp_echo_ignore_broadcasts = 1
# 内存管理
#降低系统使用交换分区的倾向(默认值 60),优先使用物理内存,减少磁盘 I/O 延迟
vm.swappiness= 10
#当脏页(未写入磁盘的数据)占内存比例达到 10% 时,触发主动回写
vm.dirty_ratio = 10
#后台进程开始回写脏页的阈值(内存比例的 5%)
vm.dirty_background_ratio = 5
#允许内存超分配(默认 0 为启发式策略),避免因内存不足导致 OOM Killer 终止进程
vm.overcommit_memory = 1
#当 overcommit_memory=2 时,设置内存超分配的百分比上限
vm.overcommit_ratio = 80
#减少内存碎片
vm.nr_hugepages= 256
#调整文件系统缓存回收, 降低回收频率
vm.vfs_cache_pressure= 50
# IPv6设置
#禁用IPv6路由器广告
net.ipv6.conf.default.router_solicitations = 0
net.ipv6.conf.default.accept_ra_rtr_pref = 0
net.ipv6.conf.default.accept_ra_pinfo = 0
net.ipv6.conf.default.accept_ra_defrtr = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.default.dad_transmits = 0
net.ipv6.conf.default.max_addresses = 1
#系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上
net.ipv4.tcp_max_orphans = 2048
#timewait的数量,默认是180000
net.ipv4.tcp_max_tw_buckets = 2000000
#为TCP socket预留用于发送缓冲的内存默认值(单位:字节)
net.core.wmem_default = 262144
#为TCP socket预留用于接收缓冲的内存默认值(单位:字节)
net.core.rmem_default = 262144
# 增加TCP最大缓冲区大小
#定义 TCP 接收缓冲区的最小、默认和最大值,适应不同网络环境。
net.ipv4.tcp_rmem = 4096 87380 16777216
#定义 TCP 发送缓冲区的最小、默认和最大值。
net.ipv4.tcp_wmem = 4096 16384 16777216
#禁用包过滤功能 (1=服务器场景, 路由器或容器网络场景)
net.ipv4.ip_forward = 0
#加快网络性能的协议
net.inet.tcp.rfc1323=1
net.inet.tcp.rfc1644=1
net.inet.tcp.rfc3042=1
net.inet.tcp.rfc3390=1
#启用或禁用TCP FACK(Forward Acknowledgment,前向确认)功能。FACK是一种拥塞控制机制
#使用FACK算法优化快速重传和拥塞窗口调整,以提高在高丢包或高延迟网络中的传输效率
net.ipv4.tcp_fack = 1
#文件系统与并发限制
#增大异步 I/O 操作的最大请求数,优化数据库等 I/O 密集型应用
fs.aio-max-nr = 65535
#系统中允许的最多文件数量
kern.maxfiles=65536
#每个进程能够同时打开的最大文件数量
kern.maxfilesperproc=32768
#防止DOS攻击
net.inet.tcp.syncookies=1
# 确保无人能修改路由表, 禁止接受 ICMP 重定向消息,避免路由表被篡改
net.ipv4.conf.all.accept_redirects = 0
#使用sysrq组合键是了解系统目前运行情况,为安全起见设为0关闭
kernel.sysrq = 0
#控制core文件的文件名是否添加pid作为扩展
kernel.core_uses_pid = 1
#每个消息队列的大小(单位:字节)限制
kernel.msgmnb = 65536
#整个系统最大消息队列数量限制
kernel.msgmax = 65536
#开启有选择的应答
net.ipv4.tcp_sack = 1
#时间戳可以避免序列号的卷绕。一个1Gbps的链路肯定会遇到以前用过的序列号。时间戳能够让内核接受这种“异常”的数据包。这里需要将其关掉
net.ipv4.tcp_timestamps = 1
#为了打开对端的连接,内核需要发送一个SYN并附带一个回应前面一个SYN的ACK。也就是所谓三次握手中的第二次握手。这个设置决定了内核放弃连接之前发送SYN+ACK包的数量
net.ipv4.tcp_synack_retries = 1
#在内核放弃建立连接之前发送SYN包的数量
net.ipv4.tcp_syn_retries = 1
#开启TCP连接中time_wait sockets的快速回收
net.ipv4.tcp_tw_recycle = 1
#1st低于此值,TCP没有内存压力,2nd进入内存压力阶段,3rdTCP拒绝分配socket(单位:内存页)
#TCP内存压力阈值
net.ipv4.tcp_mem = 131072 262144 524288
#表示当keepalive起用的时候,TCP发送keepalive消息的频度(单位:秒)
net.ipv4.tcp_keepalive_time = 30
#设置TCP保活探测包(Keep-Alive Probes)之间的发送间隔时间,单位为秒
net.ipv4.tcp_keepalive_intvl = 30
#设置TCP保活探测包的最大发送次数
net.ipv4.tcp_keepalive_probes = 3
# 开启恶意icmp错误消息保护
net.ipv4.icmp_ignore_bogus_error_responses = 1
# 开启并记录欺骗,源路由和重定向包
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
# 不充当路由器
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
# 开启execshild
kernel.exec-shield = 1
kernel.randomize_va_space = 1
# 允许更多的PIDs (减少滚动翻转问题); may break some programs 32768
kernel.pid_max = 65536
# 增加Linux自动调整TCP缓冲区限制
# 最小,默认和最大可使用的字节数
# 最大值不低于4MB,如果你使用非常高的BDP路径可以设置得更高
# Tcp窗口等
#为TCP socket预留用于接收缓冲的内存最大值(单位:字节)
net.core.rmem_max = 513920
#为TCP socket预留用于发送缓冲的内存最大值(单位:字节)
net.core.wmem_max = 513920
#支持更大的TCP窗口. 如果TCP窗口最大超过65535(64K), 必须设置该数值为1
net.ipv4.tcp_window_scaling = 1
复制代码
作者:
a66
时间:
前天 18:50
不错的方法!
作者:
hhcha
时间:
前天 18:53
感谢分享!
作者:
slc1234
时间:
前天 19:08
谢谢分享!!!
作者:
361318817
时间:
前天 19:27
00000000000
作者:
jnight
时间:
前天 19:33
感谢分享
作者:
it323
时间:
前天 19:54
感谢分享!
作者:
wwoldok
时间:
前天 20:25
感谢分享
作者:
wn168cn@163.com
时间:
前天 20:31
感谢分享
作者:
kimleee
时间:
前天 20:36
很好的教程,学习了
作者:
handsome_xiang
时间:
前天 21:07
感谢分享!
作者:
simonlong
时间:
前天 21:17
感谢分享
这是不是不区分发行版啊?(正在入坑ing……)
作者:
smile_z
时间:
前天 22:48
感谢分享
作者:
win82
时间:
前天 23:12
感谢分享
作者:
anyscai
时间:
昨天 08:08
这系统还没用过
作者:
dksoft
时间:
昨天 08:18
感谢分享
作者:
好好学些
时间:
昨天 08:21
支持楼主
作者:
wang1126
时间:
昨天 08:27
谢谢楼主分享
作者:
lanmeizhuangyua
时间:
昨天 09:15
多谢分享
作者:
ebaqiang
时间:
昨天 11:00
这个有点意思 谢谢分享
作者:
dshit
时间:
昨天 11:31
这个很强啊。很少看到Linux的优化,这是头见
作者:
jinghuanqd
时间:
昨天 12:29
谢谢分享
作者:
guong
时间:
昨天 13:46
来学习学习
作者:
ouanyu
时间:
昨天 14:08
谢谢大佬分享!
作者:
fegr
时间:
昨天 16:20
感谢分享
欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/)
Powered by Discuz! X3.3