当前位置: 首页 > article >正文

【Linux】内核参数修改

说明

   在 liunx系统中内核参数主要涉及到两处的配置文件:  /etc/sysctl.conf 和这个目录/etc/sysctl.d下的所有.conf 结尾的文件。

/etc/sysctl.d/ 存放的系统内核参数配置文件在系统启动时会被 sysctl 工具读取并应用。以下是关于这些文件的加载机制和如何避免相互覆盖的详细说明。

加载机制

  1. 文件命名规则

    • 文件名通常以数字开头,用于确定加载顺序。例如,10-network-security.conf 会比 20-other-settings.conf 先加载。
    • 文件名通常以 .conf 结尾。
  2. 加载过程

    • 系统启动时,systemd 会调用 sysctl 工具来读取 /etc/sysctl.d 目录中的所有 .conf 文件。
    • sysctl 会按照文件名的字母顺序依次读取并应用这些文件中的内核参数。
  3. 命令行加载

    • 您也可以手动加载这些配置文件,使用 sysctl -p 命令。默认情况下,sysctl -p 会读取 /etc/sysctl.conf 文件。要加载 /etc/sysctl.d 目录中的所有文件,可以使用 sysctl --system 命令。

避免相互覆盖

  1. 文件命名

    • 使用不同的数字前缀来控制加载顺序。例如,10-network-security.conf 和 20-other-settings.conf
    • 确保每个文件中的参数名称唯一,避免重复定义相同的参数。
  2. 参数覆盖

    • 如果多个文件中定义了相同的参数,后加载的文件中的值会覆盖先加载的文件中的值。因此,建议将通用或基础的配置放在编号较小的文件中,将特定或高级的配置放在编号较大的文件中。

示例

假设您有两个文件:

  1. 10-network-security.conf

    net.ipv4.icmp_echo_ignore_all = 1
    net.ipv4.tcp_syncookies = 1
  2. 20-other-settings.conf

    net.ipv4.tcp_syncookies = 0
    fs.file-max = 100000

在这种情况下:

   20-other-settings.conf 中的 net.ipv4.tcp_syncookies = 0

会覆盖

   10-network-security.conf 中的 net.ipv4.tcp_syncookies = 1

手动加载

  1. 加载所有配置文件

    sudo sysctl --system
  2. 加载特定文件

    sudo sysctl -p /etc/sysctl.d/10-network-security.conf

验证参数

您可以使用 sysctl 命令来验证特定参数的当前值:

sudo sysctl net.ipv4.tcp_syncookies

总结

    /etc/sysctl.d 目录中的文件在系统启动时会按字母顺序依次加载。为了避免参数覆盖,建议使用不同的数字前缀来控制加载顺序,并确保每个文件中的参数名称唯一。通过合理组织配置文件,您可以有效地管理内核参数,确保系统的稳定性和性能


http://www.kler.cn/a/393844.html

相关文章:

  • 三维测量与建模笔记 - 特征提取与匹配 - 4.2 梯度算子、Canny边缘检测、霍夫变换直线检测
  • Linux基础1
  • 曹操为什么总是亲征
  • flutter 发版的时候设置版本号
  • React Native 全新架构来了
  • 华为数通HCIA系列第5次考试-【2024-46周-周一】
  • 洞察鸿蒙生态,把握开发新机遇
  • kafka生产经验——消费者事务
  • 使用 WebWorker 和 Rust WebAssembly 构建的生命游戏
  • LeetCode【0028】找出字符串中第一个匹配项的下标
  • Python与其他语言比较·练习题 --- 《跟着小王学Python》
  • 汽车共享管理:SpringBoot技术的最佳实践
  • git分支合并到远程后如何回滚合并
  • C++设计模式行为模式———命令模式
  • Linux·进程信号
  • lua判断子串,字符串替换,字符串分割
  • 【go从零单排】上下文(context)
  • Linux:测试指令test
  • Kafka可视化kafka-eagle的安装使用
  • 【划分型DP-约束划分个数】【hard】力扣410. 分割数组的最大值
  • cmake报错The link interface of target “gRPC::grpc“ contains: OpenSSL::SSL 解决
  • 西门子PLC更新DB块时不初始化变量
  • RSTP技术
  • Javascript如何获取指定网页中的内容?
  • 从无音响Windows 端到 有音响macOS 端实时音频传输播放
  • JavaScript判断数组的方式有哪些