Linux Kernel 参数(内核参数)是 Linux 操作系统中用于控制内核行为、优化系统性能和增强安全性的配置项。这些参数通常位于 /proc/sys/ 目录下,可以通过 sysctl 命令进行运行时读取和修改。本文详细介绍 Linux Kernel 参数,分为参数分类、常用参数详解、查看与修改方法以及最佳实践。
内核参数分类
内核参数通常根据其所属的子系统进行分类,目录结构直接反映在 /proc/sys/ 下:
前缀/目录
描述
常见用途
net.*
网络子系统
调整 TCP/IP 协议栈,优化网络吞吐、连接数、超时等。
vm.*
虚拟内存子系统
控制内存分配、Swap 使用倾向、脏页回写策略等。
fs.*
文件系统
控制系统最大打开文件数、AIO(异步 IO)限制等。
kernel.*
通用内核选项
控制进程号范围、共享内存、系统 Panic 行为、消息队列等。
dev.*
设备驱动
特定硬件设备的参数(如 CD-ROM, RAID 等)。
常用参数详解
常见参数
网络优化
内存管理 (vm.*)
影响系统如何使用 RAM 和 Swap。
vm.swappiness (范围 0-100)
作用:控制内核使用 Swap(交换分区)的积极程度。
0:尽量仅使用物理内存,除非万不得已。
100:积极地将数据交换到磁盘。
建议:服务器环境(特别是数据库)通常设置为 1 或 10,以避免磁盘 I/O 导致性能抖动。
vm.overcommit_memory
作用:控制内存超卖(Overcommit)策略。
0(默认):启发式策略,适度超卖。
1:永远允许分配内存(适合 Redis 等需 fork 大量内存的应用)。
2:禁止超卖,系统分配内存总量受限于 Swap + RAM * overcommit_ratio。
vm.dirty_ratio
作用:当脏页(尚未写入磁盘的内存数据)占用内存达到此百分比时,进程会阻塞并开始强制写回磁盘。
文件系统 (fs.*)
fs.file-max
fs.file-max 是一个 Linux 内核参数,用于定义整个系统可以同时打开的**文件句柄(File Handle,也称文件描述符 File Descriptor, FD)**的最大数量。
We use cookies and similar methods to recognise visitors and remember preferences. We also use them to measure
campaign effectiveness and analyse site traffic.
By selecting 'Accept', you consent to the use of these methods by us and trusted third parties.