美文网首页
OS内核参数的调整

OS内核参数的调整

作者: 缘木与鱼 | 来源:发表于2021-10-14 19:51 被阅读0次

1.vm.overcommit_memory
“vm.overcommit_memory” 这个参数有三个值可以选择: 0、1、2。

 如果值为0,中间件系统申请内存的时候,os内核会检查可用内存是否足够,如果足够的话就分配内存;如果剩余内存不够,就会拒绝申请,导致申请内存失败,进而导致中间件系统异常出错。
 一般该参数设置成1,意思是把所有可用的物理内存都允许分配给你,只要有内存就给你用,这样可以避免申请内存失败的问题。

修改指令是: echo ‘vm.overcommit_memory=1’ >> /etc/sysctl.conf

2.vm.max_map_count
这个参数的值会影响中间件系统可以开启的线程数量,比较重要。

如果参数值过小,可能导致会中间件无法开启足够的线程,进而导致报错,甚至中间件启动失败。

默认值是65536,但有时候会不够,在大数据场景中会有更多的要求(如Kafka在生产中的大量集群部署时)。

一般建议是该参数调大10倍,即 655360,保证中间件开启足够多的线程。

修改指令是: echo ‘vm.max_map_count=655360’ >> /etc/sysctl.conf

3.vm.swappiness
这个参数是用来控制进程的swap行为的,简单来说就是os会把一部分的磁盘空间作为swap区域,如果有的进程不太活跃,就会被操作系统把该进程的状态调整为睡眠状态,把进程中的数据放入磁盘的swap区域,然后让这个进程把原来占用的内存空间腾出来,给其他活跃运行的进程使用。

 如果这个参数设置为0,意思是尽量别把任何一个进程放到磁盘的swap区域中,尽量都使用物理内存。
 如果这个参数设置为0,意思是尽量把一些进程给放到磁盘的swap区域中,内存腾出来给活跃的进程使用。
 该参数默认是60,一般来说有点偏高,可能会导致中间件运行不活跃的时候被迫腾出内存空间,然后放到磁盘的swap区域中。因此通常在生产环境会把该参数调小一些,比如设置成10,尽量使用物理内存,别放到磁盘swap区域中。

修改指令是: echo ‘vm.swappiness=10’ >> /etc/sysctl.conf

4.ulimt
该参数是用来控制linux上最大文件链接数的,默认值可能是1024,通常是不够的,在进行大量的频繁读写磁盘文件的时候,或者是在进行网络通信的时候,都会跟这个参数有关。(压测时不修改该参数经常会遇到问题)

该参数引起的常见的错误是: error:too many open files。

修改指令是: echo ‘ulimit -n 1024000’ >> /etc/profile

5.优化思路
一般优化的调整的方向都是与磁盘文件IO、网络通信、内存管理、线程数量有关。
 中间件系统需要开启大量的线程 (跟vm.max_map_count有关)
 进行大量的网络通信和磁盘IO(跟ulimit有关)
 大量使用内存(跟vm.swappiness和vm.overcommit_memory有关)。

所以对于OS内核参数的调整,往往是调整与系统运行最相关的部分。

相关文章

  • OS内核参数的调整

    1.vm.overcommit_memory“vm.overcommit_memory” 这个参数有三个值可以选择...

  • 启动和内核管理

    1 CentOS 6 启动流程 2 内核参数调整 3 内核模块管理

  • Oracle11g安装

    环境配置 OS:Redhat6.6 安装依赖包: 修改limits参数: 修改内核参数: 生效: 改主机名:编辑/...

  • linux 内核参数调整优化网络

    linux 内核参数调整优化网络 Linux系统内核设置优化tcp网络,# vi /etc/sysctl.conf...

  • Linux Sysctl调整内核参数

    sysctl命令被用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录/proc/sys中。它包含一些T...

  • 04 Linux内核参数调整

    文件打开数量设置 修改Linux字符集## 步骤1:修改i18n文件 将默认LANG修改为 步骤2:切换为mysq...

  • redis优化

    调整overcommit_memory参数 如果内存情况比较紧张的话,需要设定内核参数overcommit_mem...

  • Linux增加Netfilter的链路追踪数

    1. 调整内核参数 nf_conntrack_buckets 和 net.netfilter.nf_conntra...

  • Java 应用如何调优?

    一、节点配额和内核参数调整 JVM 配置常用参数 堆参数 回收器参数 项目中常用配置 常用组合 常用 GC 调优策...

  • linux 内核参数调整优化网络

    Linux系统内核设置优化tcp网络: # vi /etc/sysctl.conf,添加以下内容 默认值:net....

网友评论

      本文标题:OS内核参数的调整

      本文链接:https://www.haomeiwen.com/subject/kovuoltx.html