-
Notifications
You must be signed in to change notification settings - Fork 50
/
sysctl.conf
110 lines (102 loc) · 4.9 KB
/
sysctl.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# 禁用sysrq
kernel.sysrq = 0
# 为core文件名添加pid扩展
kernel.core_uses_pid = 1
# 设置消息队列
## 消息队列中最大的字节数
kernel.msgmnb = 65536
## 一个进程发送到另一个进程的消息最大长度
kernel.msgmax = 65536
## 参数定义了共享内存段的最大尺寸(以字节为单位),64G
kernel.shmmax = 68719476736
## 表示统一一次可以使用的共享内存总量(以页为单位)。默认是2097152
kernel.shmall = 4294967296
# 表示将mmap的基址,stack,vdso页面,栈(heap)的随机化
kernel.randomize_va_space = 2
# 检测到soft lockup时自动panic
kernel.softlockup_panic = 1
# softlockup时回溯所有cpu信息
kernel.softlockup_all_cpu_backtrace = 1
# socket监听(listen)的backlog上限
net.core.somaxconn = 32768
#接收套接字缓冲区大小的默认值(以字节为单位)
net.core.rmem_default = 262144
#发送套接字缓冲区大小的默认值(以字节为单位)。
net.core.wmem_default = 262144
#接收套接字缓冲区大小的最大值(以字节为单位)
net.core.rmem_max = 16777216
#发送套接字缓冲区大小的最大值(以字节为单位)。
net.core.wmem_max = 16777216
# #当网卡接收数据包的速度大于内核处理的速度时,会有一个队列保存这些数据包。这个参数表示该队列的最大值。
net.core.netdev_max_backlog = 20000
# 开启路由转发
net.ipv4.ip_forward = 1
# 禁用所有ip源路由
net.ipv4.conf.default.accept_source_route = 0
# 决定检查一次相邻层记录的有效性的周期,秒
net.ipv4.neigh.default.gc_stale_time=120
# 关闭rp_filter
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.lo.arp_announce=2
# arp数据包yuanip选择策略
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.all.arp_announce=2
# 开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击
net.ipv4.tcp_syncookies = 1
# 内核最多重试几次发送SYN包
net.ipv4.tcp_synack_retries = 2
# 启用时间戳
net.ipv4.tcp_timestamps = 1
# 关闭空闲连接tcp慢启动
net.ipv4.tcp_slow_start_after_idle=0
# socker使用内存大小 最小字节数,默认字节数,最大字节数
net.ipv4.tcp_rmem = 4096 12582912 16777216
net.ipv4.tcp_wmem = 4096 12582912 16777216
# 确定TCP栈应该如何反映内存使用,每个值的单位都是内存页(通常是4KB)。第一个值是内存使用的下限;第二个值是内存压力模式开始对缓冲区使用应用压力的上限;第三个值是内存使用的上限。在这个层次上可以将报文丢弃,从而减少对内存的使用
net.ipv4.tcp_mem = 786432 2097152 3145728
# TCP处于FIN-WAIT-2连接状态的时间
net.ipv4.tcp_fin_timeout = 30
#表示那些尚未收到客户端确认信息的连接(SYN消息)队列的长度,默认为1024,加大队列长度为16384,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_syn_backlog = 16384
# 表示系统同时保持TIME_WAIT套接字的最大数量。如果超过此数,TIME_WAIT套接字会被立刻清除并且打印警告信息。之所以要设定这个限制,纯粹为了抵御那些简单的DoS攻击,不过,过多的TIME_WAIT套接字也会消耗服务器资源,甚至死机。
net.ipv4.tcp_max_tw_buckets = 180000
# 允许重用TIME_WAIT状态的套接字用于新的TCP连接
net.ipv4.tcp_tw_reuse = 1
#关闭TCP连接中TIME_WAIT套接字的快速回收
net.ipv4.tcp_tw_recycle = 0
#允许系统打开的端口范围
net.ipv4.ip_local_port_range = 1024 65535
# 不处理ipv6数据包
#net.bridge.bridge-nf-call-ip6tables = 0
# 不处理数据包
#net.bridge.bridge-nf-call-arptables = 0
# 默认过滤数据包
#net.bridge.bridge-nf-call-iptables = 1
# iptables对于已建立的连接,1200秒若没有活动,那么则清除掉
net.netfilter.nf_conntrack_tcp_timeout_established = 1200
# iptables最大连接数
net.netfilter.nf_conntrack_max = 1048576
# 当可用内存小于10%时使用交换空间
vm.swappiness = 10
# 内存脏数据占比20%时,阻塞io,刷入磁盘
vm.dirty_ratio = 20
# 内存脏数据占比10%时,后台进程会稍后清理脏数据
vm.dirty_background_ratio = 10
# 表示内核允许分配所有的物理内存,不检测当前的内存状态如何
vm.overcommit_memory = 1
# 一个进程可以拥有的VMA(虚拟内存区域)的数量
vm.max_map_count = 655360
# 该文件表示内核回收用于directory和inode cache内存的倾向
vm.vfs_cache_pressure=300
# Linux VM最低保留多少空闲内存(Kbytes)
vm.min_free_kbytes=1048576
# 文件系统最大打开句柄数
fs.file-max = 2097152
# 表示每一个real user ID可创建的inotify instatnces的数量上限
fs.inotify.max_user_instances = 8192
# 表示同一用户同时可以添加的watch数目(watch一般是针对目录,决定了同时同一用户可以监控的目录数量
fs.inotify.max_user_watches = 524288
# inotify队列最大长度
fs.inotify.max_queued_events = 16384