• 1228阅读
  • 1回复

Linux配置 sysctl.conf 系统参数详解

楼层直达
w 8o?wx*  
配置 sysctl.conf 系统参数(vi /etc/sysctl.conf) :x q^T  
参数: jM*wm~4>@  
1.内存&缓存 MS SHMR  
kernel.sysrq = 0 内核设置验证为0 ve#[LBOC8  
kernel.core_uses_pid = 1 控制内核的系统请求调试功能开启,控制核心转储附加PID到核心文件名,适用于多线程 3I?yRE  
kernel.msgmnb = 65536 每个消息队列的最大字节限制 JmF`5  
kernel.msgmax = 65536 每个消息的最大size -NG9?sI\U  
kernel.shmmax = 68719476736定义了共享内存段的最大尺寸(以字节为单位,缺省值为2097152) yyR@kOGga  
kernel.shmall = 4294967296 表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152) w*SFQ_6YE  
kernel.shmmni = 4096 设置系统范围内共享内存段的最大数量,默认4096 ,v| vgt  
Rx<[bohio  
RmN\;G?}  
2.信号量相关: p|Fhh\,*`X  
kernel.sem = 50100 64128000 50100 1280 8DrKq]&  
系统默认值,SA未优化 L3Q1az!Ct  
~?A,GalS  
?yz}  
含义: Z42v@?R.!W  
ZsPBs4<p  
1[`l`Truz  
#ipcs -ls ]i]sgg[  
cl7+DAE  
u&I~%s  
------ Semaphore Limits -------- )@`w^\E_~_  
\ZDT=?  
?y45#Tk]  
max number of arrays = 128 1aMBCh<}JN  
R;V(D3  
~ pdf'  
max semaphores per array = 250 ;<X3AhF  
u#UeJu O  
z=Vvb  
max semaphores system wide = 32000 n0i&P9@B1  
A07 P$3>/W  
w+$gY?%  
max ops per semop call = 32 tr/dd&(Y1  
7VXeu+-P  
p+7BsW.l  
semaphore max value = 32767 XP^6*}H.*  
,"VQ 0Z1  
1DcarF  
SEMMNI 8W[]#~77b  
2,;t%GB  
RZtL<2.@  
SEMMNI定义了max number of arrays的大小,表示系统内的最大semaphore set大小,这个缺省值128差不多了. g&vEc1LNo  
9h(hx 7]  
/a|NGh%  
SEMMSL `~]ReJ!X%  
 :Y3?,  
WLl9>v^1  
SEMMSL 定义了max semaphores pre array的大小,表示每个semaphore set的最大semaphore数.oracle进程获得系统的一个semaphore set,oracle进程内的每个线程需要一个semaphore,假如你的系统内只有一个oracle实例,你的SEMMSL的值需要等于或稍大于 (oracle中定义的最大PROCESSES数+10),如果是MTS模式,可以适当放小. zNf5OItx  
6 {Z\cwP)c  
R4(8]oUW  
SEMMNS m^.C(}  
k#) .E X  
uP]o39b;V  
SEMMNS定义 了max semaphores system wide的大小,表示系统内允许的最大semaphore set大小,系统缺省大小为(SEMMNI*SEMMSL),oracle推荐的设置为系统内所有数据库的PROCESSES参数的总和,加上最大的的那个PROCESSES,然后加上10. uCfp+  
rtx]dc1m  
hFfaaB  
SEMOPM Dg+d=I?  
oLMi vy4  
3]es$Jy  
SEMOPM定义了每个semop系统调用能够操作的最大semaphore数,semop系统调用主要是一个semaphore set的semaphore操作,这个值系统缺省为32,建议设置等于SEMMSL. E0]h|/A]  
l|em E ^  
~J{[]wi  
另: E_1I|$  
Httpd重启失败,信号量过多,是因为我们关闭apache的时候使用了kill -9 来关闭程序来造成的,后续优化改进。 S)@vl^3ec  
>wO$Vu `t  
*yq]  
3.网桥设置,iptable不对网桥进行处理 ]\,uF8gg)  
net.bridge.bridge-nf-call-ip6tables = 0 2\B9o `Y  
net.bridge.bridge-nf-call-iptables = 0 M.N~fSJ   
net.bridge.bridge-nf-call-arptables = 0 %`1CE\f  
4.窗口 ##FNq#F  
net.core.rmem_default = 1048576 默认的接受窗口大小为1M hdJwNmEA>  
net.core.rmem_max = 4194304 接收窗口大小最大 0/@ X!|X  
net.core.wmem_default = 262144 默认的发送窗口大小 Df:7P>  
net.core.wmem_max = 1048576 发送窗口最大 I#E(r>KW*  
———————————————— ,,gLrV k  
版权声明:本文为CSDN博主「零零喵」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 Gh[`q7B Q  
原文链接:https://blog.csdn.net/weixin_40901788/article/details/83586965
只看该作者 安逸沙发  发表于: 2019-09-30
5.网络 =z:U~D  
net.core.netdev_max_backlog = 10000 KIL18$3J  
当网卡接受数据包的速度大于内核处理数据包的速度,会有一个队列保存这些数据包,这个参数表示这个队列最大值 2r ];V'r  
#/j={*-  
net.ipv4.conf.default.rp_filter = 1控制源路由验证 C4$/?,K(  
c!&Qj  
net.ipv4.conf.default.accept_source_route = 0不接受源路由 ,m07p~,V  
dDKqq(9(`  
net.ipv4.netfilter.ip_conntrack_max = 655360 允许最大跟踪连接条目,是在内核内存中netfiter可以同时处理的任务(跟踪连接条目),对于带有超过1G的系统,CONNTRACK_MAX 的默认值会被限制在65536(可手动设置最大值) Q2C)tVK+  
{Iy7.c8S  
net.ipv4.ip_forward = 0 控制IP包转发 ]5|z3<K^  
net.ipv4.ip_local_port_range = 9000 65000 查看端口范围,不要超过1024到65535,1024以下系统使用,65535以上会提示失败 2 X<nn  
"@/ba!L+  
net.ipv4.tcp_tw_recycle = 1开启TCP连接中TIME-WAIT sockets 的快速收回功能 DY><qk  
net.ipv4.tcp_max_syn_backlog = 4096表示SYN队列的长度,默认为1024 ,加大队列的长度为4096,可以容纳更多等待连接的网络连接数 |}qjqtZ  
fkW(Dt,  
net.ipv4.tcp_keepalive_intvl = 7 探索消息发送的频率,乘以 tcp_keepalive_probes 就得到从开始探索以来没有响应的连接杀除时间,默认为75秒,改小可以加速丢弃没有活动的连接 X}apxSd"  
#J+\DhDEPO  
net.ipv4.tcp_timest5amps=1 启动TCP时间戳 ci7~KewJ*  
u ~71l)LA  
net.ipv4.tcp_keepalive_time = 72 当 keepalive 启用的时候,TCP发送 keepalive 消息的频率,缺省是7200,也就是2小时 ;4d.)-<No_  
net.ipv4.tcp_keepalive_probes = 9 TCP 发送keepalive探测已确定该连接已断开的次数,在认定连接失效前,发送多少个TCP的探测包。 +-HE '4mo  
, ;'SVe%  
net.ipv4.tcp_syncookies = 0关闭TCP SYNCOOKIES 的使用 psD[j W  
T` ;k!F46  
net.ipv4.tcp_tw_reuse = 0表示开启重用,允许将 TIME-WAIT sockets 重新用于新的tcp连接 9`&77+|;e  
net.ipv4.tcp_tw_recycle = 1开启TCP连接中TIME-WAIT sockets 的快速收回功能 >H?uuzi  
net.ipv4.tcp_fin_timeout = 30表示如何套接字由本端要求关闭,这个参数决定他保持在FIN-WAIT-2 状态的时间 6 ZHv,e`?  
x=3I)}J(kn  
6.进程 nB}e1 /_y  
fs.file-max = 76724600 进程可以同时打开的做句柄数,直接限制了最大并发连接数,文件句柄设置表示在Linux系统的可以打开的文件数量 o@@w^##  
Fs9W>*(  
fs.aio-max-nr = 1048576此参数限制并发未完成的异步请求数目,应该设置避免I/O子系统故障 MVuP |&:n  
u p~@?t2  
vm.overcommit_memory = 0内存分配策略,可选0 1 2 #[(0tc/  
0,表示内存将检查是否有足够的可用内存供应用进程使用,如果有,允许申请,否则,内存申请失败,将错误返回给应用进程 0&o WfTg  
1,表示内存允许分配所有的物理内存,而不管当前的内存状态如何 8"pA9Mr  
2,示内存允许分配所有的物理内存和交换空间所有的内存 Q5T(nEA  
`0[fLEm  
vm.zone_reclaim_mode=1开启当内存不够用时就直接回收内存 Z0z)  
vm.dirty_background_ratio = 10此参数指定了当文件系统缓存脏页数量达到内存的百分之多少时,就会出发 pdflush/flush/kdmflush 等后台回写进程运行,将一定的脏页异步刷入内存,如果我虚拟服务器内存为32G,也就是3.2G的数据,在完事之前可以设置在RAM中 }(rzH}X@  
iQ0&W0D]  
vm.dirty_background_bytes = 1024000000优化内核进程刷脏页阈值,尽量让后台进程刷脏页 3V!W@[ }:  
vm.dirty_ratio = 60 优化用户进程刷脏页阈值,脏页超过60%才需要用户刷 ~vkud+r  
vm.dirty_bytes = 0 同上,如果设置了上面的参数,这个就要设置为0,反而 34]%d<;A  
vm.dirty_writeback_centisecs = 500 优化老化脏页刷新唤醒间隔500表示5秒 i|[S5QXCh  
vm.dirty_expire_centisecs = 3000优化老化脏页阈值,30秒以前的脏页将被刷到磁盘 ?~]>H A:  
vm.swappiness=0 关闭交换分区
快速回复

限100 字节
安逸网提示:如果您在写长篇帖子又不马上发表,建议存为草稿
 
认证码:
上一个 下一个