• 1226阅读
  • 1回复

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

楼层直达
[ d7]&i}*|  
配置 sysctl.conf 系统参数(vi /etc/sysctl.conf) }2,#[m M  
参数: ZG<!^tj  
1.内存&缓存 :Qo  
kernel.sysrq = 0 内核设置验证为0 +yH~G9u(  
kernel.core_uses_pid = 1 控制内核的系统请求调试功能开启,控制核心转储附加PID到核心文件名,适用于多线程 X2YOD2<v  
kernel.msgmnb = 65536 每个消息队列的最大字节限制 ha! "BR  
kernel.msgmax = 65536 每个消息的最大size a3O_#l-Z  
kernel.shmmax = 68719476736定义了共享内存段的最大尺寸(以字节为单位,缺省值为2097152) ](:FW '-  
kernel.shmall = 4294967296 表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152) Pm(:M:a  
kernel.shmmni = 4096 设置系统范围内共享内存段的最大数量,默认4096 '2$!thm  
zn1Rou]6  
UH-uU~  
2.信号量相关: =e8L7_;  
kernel.sem = 50100 64128000 50100 1280 wKS-O%?  
系统默认值,SA未优化 lN>C#e<]  
Wo+CQH6(  
,]_(-tyN|  
含义: xf"5<PTW</  
(2bZ]  
~gWd63%8x  
#ipcs -ls h` h>H X  
s7nX\:Bw:  
-jtC>_/  
------ Semaphore Limits -------- o;4e)tK  
$W {yK+N  
Z\=04[  
max number of arrays = 128 c\)&yGE  
?(/j<,m^  
]a6O(]  
max semaphores per array = 250 wL-ydMIx  
vf'cx:m  
qH h'l;.  
max semaphores system wide = 32000 ewAH'H]o  
juCG?}di;  
! nCjA\$  
max ops per semop call = 32 @Xve qUUU  
oF;%^XFp  
xi?P(s A  
semaphore max value = 32767 -OrY{^F  
=|E 09  
8 )mjy!,  
SEMMNI q}<.x8\  
C{UF~  
Mhe |eD#)  
SEMMNI定义了max number of arrays的大小,表示系统内的最大semaphore set大小,这个缺省值128差不多了. 1KTabj/C  
l_c^ .D  
*.m{jgi1X  
SEMMSL ,4H;P/xsb  
~~C6)N~1  
i>Z|6 5  
SEMMSL 定义了max semaphores pre array的大小,表示每个semaphore set的最大semaphore数.oracle进程获得系统的一个semaphore set,oracle进程内的每个线程需要一个semaphore,假如你的系统内只有一个oracle实例,你的SEMMSL的值需要等于或稍大于 (oracle中定义的最大PROCESSES数+10),如果是MTS模式,可以适当放小. VLcyPM@"Q!  
81g9ZV(4  
g!1I21M1~  
SEMMNS ?SC3Vzr  
o"|O ]  
QF\kPk(CtD  
SEMMNS定义 了max semaphores system wide的大小,表示系统内允许的最大semaphore set大小,系统缺省大小为(SEMMNI*SEMMSL),oracle推荐的设置为系统内所有数据库的PROCESSES参数的总和,加上最大的的那个PROCESSES,然后加上10. 6 -]>]Hr-  
cX2$kIs;  
4Mk8Cpz  
SEMOPM -:MmSeG7gO  
'?5S"??  
/w0sj`;"  
SEMOPM定义了每个semop系统调用能够操作的最大semaphore数,semop系统调用主要是一个semaphore set的semaphore操作,这个值系统缺省为32,建议设置等于SEMMSL. :i.t)ES  
-OWZ6#v(  
#G[t X6gU  
另: YGETMIT(  
Httpd重启失败,信号量过多,是因为我们关闭apache的时候使用了kill -9 来关闭程序来造成的,后续优化改进。 _B3zRO  
cAb>2]M5V  
[X<Pk  
3.网桥设置,iptable不对网桥进行处理 zW5C1:.3K  
net.bridge.bridge-nf-call-ip6tables = 0 B$?^wo  
net.bridge.bridge-nf-call-iptables = 0 m'bi\1Q  
net.bridge.bridge-nf-call-arptables = 0 n'M>xq_  
4.窗口 [EOVw%R  
net.core.rmem_default = 1048576 默认的接受窗口大小为1M y3JMbl[S0  
net.core.rmem_max = 4194304 接收窗口大小最大 ?:uNN  
net.core.wmem_default = 262144 默认的发送窗口大小 .Y\EE;8%  
net.core.wmem_max = 1048576 发送窗口最大  "r$/  
———————————————— %\6Q .V#s  
版权声明:本文为CSDN博主「零零喵」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 _ck[&Q  
原文链接:https://blog.csdn.net/weixin_40901788/article/details/83586965
只看该作者 安逸沙发  发表于: 2019-09-30
5.网络 ")gCA:1-  
net.core.netdev_max_backlog = 10000 &Gwh<%=U  
当网卡接受数据包的速度大于内核处理数据包的速度,会有一个队列保存这些数据包,这个参数表示这个队列最大值 0A 4|  
uM<+2S  
net.ipv4.conf.default.rp_filter = 1控制源路由验证 gUtbCqDS  
?qW|k6{O  
net.ipv4.conf.default.accept_source_route = 0不接受源路由 SO<K#HfE$?  
M_)T=s *  
net.ipv4.netfilter.ip_conntrack_max = 655360 允许最大跟踪连接条目,是在内核内存中netfiter可以同时处理的任务(跟踪连接条目),对于带有超过1G的系统,CONNTRACK_MAX 的默认值会被限制在65536(可手动设置最大值) 3A1kH` X^q  
sgsMlZ3/  
net.ipv4.ip_forward = 0 控制IP包转发 P#1y  
net.ipv4.ip_local_port_range = 9000 65000 查看端口范围,不要超过1024到65535,1024以下系统使用,65535以上会提示失败 b4PK  
CI{TgL:l  
net.ipv4.tcp_tw_recycle = 1开启TCP连接中TIME-WAIT sockets 的快速收回功能 >Cc$ P  
net.ipv4.tcp_max_syn_backlog = 4096表示SYN队列的长度,默认为1024 ,加大队列的长度为4096,可以容纳更多等待连接的网络连接数 HWZ*Htr  
^O"`.2O1  
net.ipv4.tcp_keepalive_intvl = 7 探索消息发送的频率,乘以 tcp_keepalive_probes 就得到从开始探索以来没有响应的连接杀除时间,默认为75秒,改小可以加速丢弃没有活动的连接 Q+N @j]'  
<[~M|OL9q,  
net.ipv4.tcp_timest5amps=1 启动TCP时间戳 `-2`UGB-  
PxY"{-iAM  
net.ipv4.tcp_keepalive_time = 72 当 keepalive 启用的时候,TCP发送 keepalive 消息的频率,缺省是7200,也就是2小时 ^PszZ10T  
net.ipv4.tcp_keepalive_probes = 9 TCP 发送keepalive探测已确定该连接已断开的次数,在认定连接失效前,发送多少个TCP的探测包。 )[.URp&  
b5C #xxIO  
net.ipv4.tcp_syncookies = 0关闭TCP SYNCOOKIES 的使用 ,)8Hl[y  
8a1{x(\z.  
net.ipv4.tcp_tw_reuse = 0表示开启重用,允许将 TIME-WAIT sockets 重新用于新的tcp连接 KDk^)zv%!  
net.ipv4.tcp_tw_recycle = 1开启TCP连接中TIME-WAIT sockets 的快速收回功能 EA72%Y9F  
net.ipv4.tcp_fin_timeout = 30表示如何套接字由本端要求关闭,这个参数决定他保持在FIN-WAIT-2 状态的时间 u/WkqJvw#  
~C3-E %h@Z  
6.进程 &nn":  
fs.file-max = 76724600 进程可以同时打开的做句柄数,直接限制了最大并发连接数,文件句柄设置表示在Linux系统的可以打开的文件数量 u)ItML  
C_o.d~xm  
fs.aio-max-nr = 1048576此参数限制并发未完成的异步请求数目,应该设置避免I/O子系统故障 EhoR.  
Gl(,%~F9i  
vm.overcommit_memory = 0内存分配策略,可选0 1 2 A2 r RYzN;  
0,表示内存将检查是否有足够的可用内存供应用进程使用,如果有,允许申请,否则,内存申请失败,将错误返回给应用进程 ]b)(=-;>  
1,表示内存允许分配所有的物理内存,而不管当前的内存状态如何 6 AY%o nY  
2,示内存允许分配所有的物理内存和交换空间所有的内存 mj pH)6aD0  
1Y_fX  
vm.zone_reclaim_mode=1开启当内存不够用时就直接回收内存 %"tf`,d~3  
vm.dirty_background_ratio = 10此参数指定了当文件系统缓存脏页数量达到内存的百分之多少时,就会出发 pdflush/flush/kdmflush 等后台回写进程运行,将一定的脏页异步刷入内存,如果我虚拟服务器内存为32G,也就是3.2G的数据,在完事之前可以设置在RAM中 v%r!}s  
\% (R~ H  
vm.dirty_background_bytes = 1024000000优化内核进程刷脏页阈值,尽量让后台进程刷脏页 1E(pJu'K  
vm.dirty_ratio = 60 优化用户进程刷脏页阈值,脏页超过60%才需要用户刷 Ek:u[Uw\  
vm.dirty_bytes = 0 同上,如果设置了上面的参数,这个就要设置为0,反而 q\\J9`Q$J  
vm.dirty_writeback_centisecs = 500 优化老化脏页刷新唤醒间隔500表示5秒 "+Kr1nW  
vm.dirty_expire_centisecs = 3000优化老化脏页阈值,30秒以前的脏页将被刷到磁盘 H]-nm+  
vm.swappiness=0 关闭交换分区
快速回复

限100 字节
安逸网提示:如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
认证码:
上一个 下一个