2.9 KiB
2.9 KiB
1、Linux 内核概览
Linux 内核是操作系统最核心的部分,负责:
- 进程调度
- 内存管理
- 设备驱动
- 文件系统
- 网络协议栈
- 系统调用接口
用户平时操作的大多数命令和程序,最终都需要通过内核来访问系统资源。
2、内核版本号
以一个示例版本为例:
linux-5.4.119-19-0009
可以大致理解为:
5:主版本号4:次版本号119-19-0009:修订版本或发行版附加版本信息
通常主版本和次版本更偏向内核主线版本,后面的部分则常见于发行版维护补丁版本。
3、源码状态与协议
Linux 内核是开源软件,常见采用 GPL 协议发布。
4、Linux 发行版和内核的关系
Linux 内核并不等于 Linux 发行版。发行版通常是在内核基础上,加上:
- 软件包管理器
- 系统工具
- 服务管理组件
- 默认配置
- 桌面环境或服务器工具链
常见发行版:
Red Hat/Rocky Linux/AlmaLinuxDebianUbuntuFedoraAlpine
4.1 简单理解
Fedora:相对更新、更激进Ubuntu:桌面和服务器都很常见,LTS 版本支持周期长Debian:稳定著称Alpine:轻量、简洁,容器场景常见
5、用户态与内核态
5.1 用户态
用户程序运行的空间。
特点:
- 权限受限
- 不能直接操作底层硬件和关键系统资源
- 需要通过系统调用进入内核态
5.2 内核态
内核运行的空间。
特点:
- 拥有更高权限
- 可以直接管理 CPU、内存、磁盘、网络等资源
5.3 两者关系
应用程序大多运行在用户态,但在访问文件、网络、设备等资源时,需要通过系统调用进入内核态完成相关操作。
6、/proc 与内核参数管理
Linux 通过 /proc 这个伪文件系统暴露很多内核状态、统计信息和可调参数。
例如:
- 进程信息
- CPU 信息
- 内存信息
- 网络参数
sysctl内核参数
7、sysctl 命令
常见配置文件:
/etc/sysctl.conf
常见用法:
7.1 临时设置参数
sysctl -w 参数=value
7.2 重新加载配置文件
sysctl -p
7.3 查看指定参数
sysctl 参数名
7.4 查看所有生效参数
sysctl -a
8、常见运维建议
- 先理解“内核”和“发行版”不是同一个概念
- 调整内核参数前,先明确业务目标
- 临时调优先用
sysctl -w - 永久调优再写入
/etc/sysctl.conf或/etc/sysctl.d/ - 不熟悉的内核参数不要直接在生产环境修改
9、小结
- Linux 内核负责系统最底层的资源管理
- 发行版是在内核之上封装出的完整操作系统环境
- 用户态和内核态是 Linux 权限与执行模型的重要概念
/proc和sysctl是观察和调整内核行为的常用入口