144 lines
2.9 KiB
Markdown
144 lines
2.9 KiB
Markdown
## 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` 是观察和调整内核行为的常用入口
|