Linux内核参数管理

Linux 内核有很多可以定制化的参数 ------ 内核参数 ( kernel parameters ), 斟酌设置内核参数对 系统调优 意义重大。 内核参数 涵盖内核的方方面面,包括 网络 ( net )、 文件系统 ( fs )等等。

本文以 fs.file-max 参数为例,介绍设置内核参数的几种方式。

procfs

Linux 内核通过 procfs 伪文件系统暴露 内核参数 的访问接口, 通过 procfs 接口,用户可 设置 或者 查看 指定内核参数。 内核参数位于 /proc/sys 目录下,以 fs.file-max 参数为例,路径为 /proc/sys/fs/file-max

查看参数只需读取对应文件内容:

bash 复制代码
cat /proc/sys/fs/file-max

同样地,设置参数只需将值写入对应文件:

bash 复制代码
echo 1000000 > /proc/sys/fs/file-max

注意: 通过 procfs 调整内核参数可以 立即生效 ,但 重启失效

sysctl

Linux 内置 sysctl 命令用于管理内核参数,用法非常直观。

查看给定内核参数值:

bash 复制代码
sysctl fs.file-max

如果只需返回参数值,可以指定 -n 参数:

bash 复制代码
sysctl -n fs.file-max

设置给定内核参数:

bash 复制代码
sysctl -w fs.file-max=1000000

注意: 由于 sysctl 命令底层通过 procfs 接口与内核交互,因此效果与 procfs 类似 ------ 立即生效,重启失效

配置文件

procfs 只是访问内核参数的接口,参数设置 持久化 仍需借助 配置文件 实现。

用户可将内核参数设置写在一个文件里:

bash 复制代码
cat /some/path/to/sysctl.conf

然后,运行 sysctl 命令加载配置文件以便生效:

bash 复制代码
sysctl -p /some/path/to/sysctl.conf

如果系统重启,再次运行以上命令即可重新设置内核参数。

系统配置文件

Linux 系统启动后,默认从以下 系统配置文件 加载内核参数:

bash 复制代码
/run/sysctl.d/*.conf
/etc/sysctl.d/*.conf
/usr/local/lib/sysctl.d/*.conf
/usr/lib/sysctl.d/*.conf
/lib/sysctl.d/*.conf
/etc/sysctl.conf

因此,更推荐将内核参数设置写到这些 系统配置文件 中。

系统配置调整后,需要重启系统或者运行以下 sysctl 命令方能生效:

bash 复制代码
sysctl --system

如果只改动 /etc/sysctl.conf ,则只需以 -p 选项运行 sysctl 命令:

bash 复制代码
sysctl -p

-p 选项未指定文件时, sysctl 命令默认加载 /etc/sysctl.conf

相关推荐
万能的知了19 分钟前
服务器托管 vs 云主机 vs 裸金属:一个决策故事
运维·服务器·云计算
杨云龙UP41 分钟前
Oracle RAC / ODA 生产环境指定 PDB 启动 SOP
linux·运维·数据库·oracle
Shingmc31 小时前
【Linux】多路转接之select
linux·网络
luweis1 小时前
企智孪生 ETA(3.3 认知算法层:ETA 的思维内核 3.4 基础架构:算力与弹性)【浙江联保网络 卢伟舜】
大数据·运维·线性代数·ai·矩阵·学习方法
极客老王说Agent1 小时前
屏幕理解能力是下一代自动化的关键吗?2026年自动化范式演进深度解析
运维·人工智能·ai·chatgpt·自动化
LT10157974442 小时前
2026年电商RPA选型指南:电商运营全流程自动化测评
运维·自动化·rpa
木古古182 小时前
搞一个高效的c/c++开发环境,工具VIm+自研vim插件+Shell脚本
linux·编辑器·vim
JAVA社区3 小时前
Java高级全套教程(十一)—— Kubernetes 超详细企业级实战详解
java·运维·微服务·容器·面试·kubernetes
茫忙然3 小时前
U 盘搭建免驱 Linux 便携系统教程
linux·服务器
一起逃去看海吧4 小时前
dify-03
java·linux·开发语言