/proc 是一个非常特殊的目录,它不是存储在磁盘上的普通文件系统,而是一个 虚拟文件系统,由内核动态生成,用于展示系统运行时的各种信息。
下面我将为你详细梳理 /proc/ 目录下最重要、最值得学习的内容,并解释它们的作用和用途。
📂 /proc 目录结构总览
| 文件/目录 | 类型 | 说明 | 学习价值 |
|---|---|---|---|
/proc/cpuinfo | 文件 | 显示 CPU 的详细信息 | 查看核心数、架构、频率等 |
/proc/meminfo | 文件 | 显示内存使用情况 | 分析内存分配与剩余 |
/proc/uptime | 文件 | 系统运行时间和空闲时间 | 了解系统稳定性 |
/proc/loadavg | 文件 | 系统负载平均值 | 判断系统是否繁忙 |
/proc/version | 文件 | 当前内核版本信息 | 确认内核版本和编译信息 |
/proc/filesystems | 文件 | 支持的文件系统列表 | 查看内核支持哪些文件系统 |
/proc/modules | 文件 | 当前加载的内核模块 | 分析驱动和模块依赖 |
/proc/partitions | 文件 | 显示磁盘分区信息 | 查看设备分区结构 |
/proc/mounts | 文件 | 当前挂载的文件系统 | 与 mount 命令类似 |
/proc/cmdline | 文件 | 启动参数 | 查看 bootloader 传递的参数 |
/proc/sys/ | 目录 | 系统内核参数(可调) | 用于 sysctl 调优 |
/proc/[PID]/ | 目录 | 每个进程的详细信息 | 进程管理与调试核心 |
/proc/net/ | 目录 | 网络状态与配置 | 查看连接、接口、路由等 |
/proc/buddyinfo | 文件 | 伙伴系统内存分配状态 | 分析内存碎片 |
/proc/slabinfo | 文件 | slab 分配器状态 | 内核对象分配分析 |
/proc/vmallocinfo | 文件 | 虚拟内存分配详情 | 驱动开发常用 |
/proc/kmsg | 文件 | 内核日志(类似 dmesg) | 查看内核事件 |
/proc/stat | 文件 | CPU、进程、上下文切换统计 | 性能分析基础 |
/proc/sched_debug | 文件 | 调度器调试信息 | 深入调度机制 |
/proc/interrupts | 文件 | 中断分布情况 | 硬件调试关键 |
/proc/ioports | 文件 | I/O 端口使用情况 | 低层硬件资源分配 |
/proc/iomem | 文件 | 内存映射情况 | 查看设备内存分布 |
/proc/devices | 文件 | 已注册的字符/块设备 | 驱动开发参考 |
/proc/diskstats | 文件 | 磁盘 I/O 统计 | 性能监控 |
/proc/acpi/ | 目录 | 电源管理信息(部分系统) | 电源状态调试 |
/proc/sysrq-trigger | 文件 | 手动触发 SysRq 命令 | 救援与调试工具 |
🔍 推荐学习路径
1. 系统资源监控
-
/proc/cpuinfo -
/proc/meminfo -
/proc/loadavg -
/proc/uptime -
/proc/stat
👉 学会如何从这些文件中提取性能指标,写脚本自动监控系统状态。
2. 进程管理与调试
-
/proc/[PID]/status -
/proc/[PID]/cmdline -
/proc/[PID]/fd/ -
/proc/[PID]/maps
👉 了解每个进程的资源使用、打开的文件、内存映射等,是调试和安全分析的基础。
3. 内核与模块分析
-
/proc/version -
/proc/modules -
/proc/kmsg -
/proc/sys/
👉 学习如何查看内核版本、加载模块、调节内核参数(如网络缓冲区、文件句柄限制等)。
4. 内存机制深入
-
/proc/buddyinfo -
/proc/slabinfo -
/proc/vmallocinfo -
/proc/zoneinfo
👉 掌握 Linux 的内存分配策略,理解碎片、slab 分配器、vmalloc 与物理页的关系。
5. 网络与设备
-
/proc/net/ -
/proc/interrupts -
/proc/ioports -
/proc/iomem -
/proc/devices
👉 查看网络连接、硬件中断、设备资源分配,是驱动开发和系统调试的关键。

被折叠的 条评论
为什么被折叠?



