【Linux】内核参数修改

embedded/2024/11/14 14:52:22/

说明

   在 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.ppmy.cn/embedded/137520.html

相关文章

The 3rd Universal CupStage 15: Chengdu, November 2-3, 2024(2024ICPC 成都)

Problem L. Recover Statistics 题目意思&#xff1a; 给定a, b, c三个值&#xff0c;确保构造的数列中包含满足题目的数量 解题思路&#xff1a; 100 中 选择a 50个&#xff0c; b45个&#xff0c; c4个。 #include <iostream>using namespace std;using ll long …

HarmonyOS 沉浸式状态实现的多种方式

1. HarmonyOS 沉浸式状态实现的多种方式 HarmonyOS 沉浸式状态实现的多种方式 1.1. 方法一 1.1.1. 实现讲解 &#xff08;1&#xff09;首先设置setWindowLayoutFullScreen(true)&#xff08;设置全屏布局&#xff09;。   布局将从屏幕最顶部开始到最底部结束&#xff0c…

基于yolov8、yolov5的番茄成熟度检测识别系统(含UI界面、训练好的模型、Python代码、数据集)

摘要&#xff1a;番茄成熟度检测在农业生产及质量控制中起着至关重要的作用&#xff0c;不仅能帮助农民及时采摘成熟的番茄&#xff0c;还为自动化农业监测提供了可靠的数据支撑。本文介绍了一款基于YOLOv8、YOLOv5等深度学习框架的番茄成熟度检测模型&#xff0c;该模型使用了…

C语言 | Leetcode C语言题解之第552题学生出勤记录II

题目&#xff1a; 题解&#xff1a; const int MOD 1000000007;struct Matrix {long mat[6][6];int row, col; };struct Matrix multiply(struct Matrix a, struct Matrix b) {int rows a.row, columns b.col, temp b.row;struct Matrix c;memset(c.mat, 0, sizeof(c.mat)…

Unet++改进24:添加DualConv||轻量级深度神经网络的双卷积核

本文内容:添加DualConv 目录 论文简介 1.步骤一 2.步骤二 3.步骤三 4.步骤四 论文简介 卷积神经网络(CNN)架构通常对内存和计算要求很高,这使得它们在硬件资源有限的嵌入式系统中不可行。 我们提出了双卷积核(DualConv)来构建轻量级深度神经网络。DualConv结合3 3和1…

基于微信小程序的高校实习管理系统设计与实现,LW+源码+讲解

摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff0c;遇到了互联网时代才发现能补上自…

Unity Assembly Definition Assembly Definition Reference

文章目录 1.Unity 预定义程序集2.Assembly definition3. Assembly definitions相关实验 1.Unity 预定义程序集 Unity 有4个预定义程序集&#xff1a; 阶段程序集名脚本文件1Assembly-CSharp-firstpassStandard Assets, Pro Standard Assets和Plugins文件夹下面的运行时脚本2A…

q8:docker build构建镜像 yum -y install vim报错

报错信息&#xff1a;1.295 Could not retrieve mirrorlist http://mirrorlist.centos.org/?release7&archx86_64&repoos&infracontainer error was 1.295 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error" 在dockerfile…