wiki/运维/操作系统/Linux/笔记/30.Linux内核.md
2026-04-08 15:02:24 +08:00

144 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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