/proc 和 /sys 是 linux 内核提供的内存驻留虚拟文件系统,/proc 侧重进程与运行时状态观测及临时调优,/sys 专注设备模型、驱动与硬件拓扑的结构化管理。

/proc 和 /sys 都是 Linux 内核提供的虚拟文件系统,不占用磁盘空间,全部驻留在内存中,通过文件接口暴露内核内部状态和配置能力。它们分工明确:/proc 侧重进程与运行时系统状态的观测与临时调优;/sys 则专注设备模型、驱动与硬件拓扑的结构化管理。
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
/proc 的核心作用:进程与内核状态的“实时快照窗口”
- 它是 Linux 可观测性的基础入口,几乎所有系统命令(如
ps、top、free、lscpu)底层都依赖读取/proc中的文件。 - 每个运行中的进程在
/proc/<pid>/</pid>下拥有专属目录,包含cmdline(启动命令)、environ(环境变量)、fd/(打开的文件描述符)、maps(内存映射)、status(可读状态)等关键信息。 - 系统级信息文件直接可读:
-
/proc/cpuinfo→ CPU 型号、核心数、频率等硬件细节 -
/proc/meminfo→ 物理内存总量、可用、缓存、交换区使用情况 -
/proc/loadavg→ 1/5/15 分钟平均负载 -
/proc/interrupts→ 各 IRQ 中断触发次数,用于排查硬件争用
-
-
/proc/sys/是唯一广泛支持写入的子目录,用于动态调整内核参数(如net.ipv4.ip_forward、vm.swappiness),效果等同于sysctl -w命令,重启后失效。
/sys 的核心作用:设备与驱动的“层次化控制总线”
- 它基于内核
kobject设备模型构建,目录结构严格反映物理/逻辑设备关系,是现代 Linux 硬件管理的统一视图。 - 主要目录按功能组织:
-
/sys/devices/—— 全系统设备的真实拓扑树(最底层,所有设备最终归属此处) -
/sys/bus/—— 按总线类型(PCI、USB、I2C)归类设备与驱动,可绑定/解绑驱动 -
/sys/class/—— 按功能分类(如net/、graphics/、sound/),便于快速定位同类设备 -
/sys/block/—— 所有块设备(磁盘、分区)及其属性(如ro只读标志、size容量) -
/sys/dev/—— 用主/次设备号索引,快速查到对应设备路径(如/sys/dev/block/8:0→/dev/sda)
-
- 多数文件可读可写,用于精细控制硬件行为:
- 开启/关闭 USB 设备:写
0或1到/sys/bus/usb/devices/*/authorized - 设置 GPU 性能模式:修改
/sys/class/drm/card0/device/power_dpm_force_performance_level - 查看网卡驱动绑定状态:读
/sys/class/net/eth0/device/driver
- 开启/关闭 USB 设备:写
关键区别一句话总结
-
/proc是“什么在跑、跑得怎么样”——面向进程与内核运行态,数据松散但覆盖广; -
/sys是“设备在哪、谁管它、怎么配”——面向硬件与驱动模型,结构严谨、可编程性强。
两者互补,共同构成 Linux 用户空间与内核交互的两大基石。










