Linux 内核调优部分参数说明

这篇具有很好参考价值的文章主要介绍了Linux 内核调优部分参数说明。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  • 表示尽量使用内存,减少使用磁盘 swap 交换分区,内存速度明显高于磁盘一个数量级。
vm.swappiness = 0
  • 内存分配策略,Redis 持久化存储需设置值为1。
vm.overcommit_memory = 1

0:表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1:表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2:表示内核允许分配超过所有物理内存和交换空间总和的内存

  • 接收套接字缓冲区大小的默认值(以字节为单位)。
net.core.rmem_default = 262144
  • 接收套接字缓冲区大小的最大值(以字节为单位)。
net.core.rmem_max = 16777216
  • 发送套接字缓冲区大小的默认值(以字节为单位)。
net.core.wmem_default = 262144
  • 发送套接字缓冲区大小的最大值(以字节为单位)。
net.core.wmem_max = 16777216
  • 用来限制监听(LISTEN)队列最大数据包的数量,超过这个数量就会导致链接超时或者触发重传机制。
net.core.somaxconn = 262144
  • 当网卡接收数据包的速度大于内核处理的速度时,会有一个队列保存这些数据包。这个参数表示该队列的最大值。
net.core.netdev_max_backlog = 262144
  • 表示系统中最多有多少 TCP 套接字不被关联到任何一个用户文件句柄上。如果超过这里设置的数字,连接就会复位并输出警告信息。这个限制仅仅是为了防止简单的 DoS 攻击。此值不能太小。
net.ipv4.tcp_max_orphans = 262144
  • 表示那些尚未收到客户端确认信息的连接(SYN 消息)队列的长度,默认为1024,加大队列长度为262144,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_syn_backlog = 262144
  • 表示系统同时保持 TIME_WAIT 套接字的最大数量。如果超过此数,TIME_WAIT套接字会被立刻清除并且打印警告信息。之所以要设定这个限制,纯粹为了抵御那些简单的 DoS 攻击,不过,过多的 TIME_WAIT 套接字也会消耗服务器资源,甚至死机。
net.ipv4.tcp_max_tw_buckets = 10000
  • 表示允许系统打开的端口范围。
net.ipv4.ip_local_port_range = 1024 65500
  • 表示允许重用 TIME_WAIT 状态的套接字用于新的 TCP 连接,默认为0,表示关闭。
net.ipv4.tcp_tw_reuse = 1
  • 当出现 SYN 等待队列溢出时,启用 cookies 来处理,可防范少量 SYN 攻击,默认为0,表示关闭。
net.ipv4.tcp_syncookies = 1
  • 表示系统允许SYN连接的重试次数。为了打开对端的连接,内核需要发送一个 SYN 并附带一个回应前面一个 SYN 的 ACK 包。也就是所谓三次握手中的第二次握手。这个设置决定了内核放弃连接之前发送 SYN+ACK 包的数量。
net.ipv4.tcp_synack_retries = 1
  • 表示在内核放弃建立连接之前发送 SYN 包的数量。
net.ipv4.tcp_syn_retries = 1
  • 减少处于 FIN-WAIT-2 连接状态的时间,使系统可以处理更多的连接。
net.ipv4.tcp_fin_timeout = 30
  • 这个参数表示当keepalive启用时,TCP 发送 keepalive 消息的频度。默认是2小时,若将其设置得小一些,可以更快地清理无效的连接。
net.ipv4.tcp_keepalive_time = 600
  • 探测消息未获得响应时,重发该消息的间隔时间(秒)。
net.ipv4.tcp_keepalive_intvl = 30
  • 在认定连接失效之前,发送多少个 TCP 的 keepalive 探测包。系统默认值是9。这个值乘以 tcp_keepalive_intvl 之后决定了,一个连接发送了 keepalive 探测包之后可以有多少时间没有回应。
net.ipv4.tcp_keepalive_probes = 3
  • 确定TCP栈应该如何反映内存使用,每个值的单位都是内存页(通常是4KB)。第一个值是内存使用的下限;第二个值是内存压力模式开始对缓冲区使用应用压力的上限;第三个值是内存使用的上限。在这个层次上可以将报文丢弃,从而减少对内存的使用。示例中第一个值为786432×4÷1024÷1024=3G,第二个值为1048576×4÷1024÷1024=4G,第三个值为1572864*4÷1024÷1024=6G。
net.ipv4.tcp_mem = 786432 1048576 1572864
  • 此参数限制并发未完成的异步请求数目,应该设置避免 I/O 子系统故障。
fs.aio-max-nr = 1048576
  • 该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表 Linux 系统中可以打开的文件的数量。
fs.file-max = 6815744
  • 信号设置。
kernel.sem = 250 32000 100 128

第一列,表示每个信号集中的最大信号量数目。
第二列,表示系统范围内的最大信号量总数目。
第三列,表示每个信号发生时的最大系统操作数目。
第四列,表示系统范围内的最大信号集总数目。
(第一列)×(第四列)=(第二列)文章来源地址https://www.toymoban.com/news/detail-424812.html

到了这里,关于Linux 内核调优部分参数说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 结合案例详细说明Spark的部分调优手段

    当谈到优化 Apache Spark 应用程序时,有一些更加详细和具体的优化策略和技术,可以帮助提高性能并最大化集群资源利用。以下是更详细的 Spark 调优方法: 资源配置与管理 : 内存调优 :合理设置 Executor 和 Driver 的内存分配,通过 spark.executor.memory 和 spark.driver.memory 参数调整

    2024年02月02日
    浏览(49)
  • CaptureRequest部分参数说明

    用于指定自动曝光(AE)程序在捕获过程中可以使用的帧率范围。AE 代表自动曝光(Auto Exposure),而 FPS 代表每秒帧数(Frames Per Second)。这个设置用来控制相机的帧率,以确保在不同光照条件下获得适当的曝光。 用于控制相机自动对焦行为的参数。AF代表自动对焦(Auto Foc

    2024年01月24日
    浏览(43)
  • 性能分析与调优: Linux 使用ELRepo升级CentOS内核

    目录 一、实验 1.环境 2.agent 服务器使用ELRepo升级CentOS内核 二、问题 1. RHEL-7, SL-7 或者 CentOS-7系统如何安装ELRepo 2.RHEL-8或者RHEL-9系统如何安装ELRepo (1)主机 表1-1 主机 主机 架构 组件 IP 备注 prometheus 监测 系统 prometheus、node_exporter  192.168.204.18 grafana 监测GUI grafana 192.168.204.19

    2024年01月23日
    浏览(66)
  • Linux内核主要组成部分有哪些?

    Linux 内核由几大子系统构成,分别为进程调度、进程间通信(IPC) 、内存管理、虚拟 文件系统和网络接口。这几大子系统既相互独立又有非常紧密的关联。图 3-5 展示了内核的 几大子系统之间以及这些子系统和计算机系统的其他模块之间的关系。 接下来依次介绍内核中的各

    2024年02月04日
    浏览(53)
  • Linux2.6内核配置说明

    maturity level options 代码成熟度选项 Prompt for development and/or incomplete code/drivers 显示尚在开发中或尚未完成的代码与驱动.除非你是测试人员或者开发者,否则请勿选择 setup 常规设置 Local version - append to kernel release 在内核版本后面加上自定义的版本字符串(小于64字符),可以用\\\"uname

    2024年02月14日
    浏览(38)
  • 修改linux的/sys目录下内核参数、模块...

    ① /sys/devices 该目录下是全局设备结构体系,包含所有被发现的注册在各种总线上的各种物理设备。一般来说,所有的物理设备都按其在总线上的拓扑结构来显示,但有两个例外,即platform devices和system devices。platform devices一般是挂在芯片内部的高速或者低速总线上的各种控制

    2024年02月05日
    浏览(65)
  • linux内核ip_forward参数详解

    linux服务器经常被用来提供防火墙、路由器、NAT等功能,在这些场景下,linux内核需要将网卡上收到的报文转发给其他网络设备。linux内核提供了ip_forward参数用于开关内核的报文转发功能,只有这个开关被打开时,内核才会执行报文的转发。网上能找到不少文章介绍ip_forward参

    2024年02月02日
    浏览(66)
  • Java Excel 打开文件报发现“xx.xlsx”中的部分内容有问题。是否让我们尽量尝试恢复问题解决

    发现“文件.xlsx”中的部分内容有问题。是否让我们尽量尝试恢复? 1、后端的导出接口写的不对,又返回流数据,又返回响应体数据,导致前端将流数据和响应体数据都下载到了excel文件中。  解决办法: 接口仅返回流数据即可。

    2024年02月13日
    浏览(63)
  • Linux【脚本 04】Shell脚本传递参数的4种方式(位置参数、特殊变量、环境变量和命名参数)实例说明

    Shell脚本是一种命令语言,可以用于自动化执行各种任务。在脚本中,我们可以通过参数来传递信息,这样脚本就可以根据这些信息来执行特定的操作。本文将介绍如何在shell脚本中传递参数,包括位置参数、特殊变量、环境变量和命名参数。 1.1 解释器 #!/bin/bash 称为shebang或

    2024年02月06日
    浏览(85)
  • Hive内核调优(二)

    SQL调优过程中需要结合Hive日志分析性能瓶颈,如下是对关键日志进行说明。 1.3.1 运行日志 运行态日志主要包括HiveServer日志、MetaStore日志、Yarn日志。 HiveServer 日志:HiveServer 负责接收客户端请求(SQL 语句),然后编译、执行(提交到 YARN 或运行 local MR)、与 MetaStore 交互获取

    2024年02月03日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包