/proc和/sys是Linux中不占磁盘空间的虚拟文件系统,由内核在内存中动态生成。1. /proc提供进程和系统状态信息,如CPU、内存、进程详情及内核参数调整;2. /sys展示设备、驱动、总线的层次结构,支持设备模型管理与属性配置;两者分别侧重系统运行时信息与硬件设备模型交互。
Linux系统中的/proc和/sys是两个特殊的虚拟文件系统,它们不占用实际磁盘空间,而是由内核在内存中动态生成,用于提供系统运行时的信息和配置接口。
/proc 目录的作用
/proc 是一个伪文件系统,主要提供运行中进程和系统状态的实时信息。它以文件和目录的形式暴露内核数据结构,使用户和程序可以读取或修改某些内核参数。
主要功能包括:
- 查看系统硬件信息,如CPU型号(/proc/cpuinfo)、内存使用(/proc/meminfo)、分区情况(/proc/partitions)等
- 监控系统运行状态,如负载(/proc/loadavg)、启动时间(/proc/uptime)
- 获取每个进程的详细信息,每个进程在/proc下有以其PID命名的目录,包含状态、内存映射、打开文件等信息
- 通过写入特定文件调整内核参数,如开启IP转发(echo 1 > /proc/sys/net/ipv4/ip_forward)
/sys 目录的作用
/sys 是sysfs文件系统的挂载点,主要用于导出内核中设备、驱动和总线的层次结构,支持设备模型的可视化和配置。
其核心用途有:
- 展示设备与驱动之间的关系,如/sys/devices、/sys/bus、/sys/class等目录
- 提供对硬件属性的访问和修改,例如调整设备电源策略或LED状态
- 支持udev等设备管理工具动态创建设备节点
- 实现内核与用户空间的交互,用于热插拔事件处理和设备配置
基本上就这些。/proc侧重进程和系统信息,/sys侧重设备和驱动模型,两者都是理解Linux内核行为的重要入口。