插件窝 干货文章 Linux proc目录下子文件或子文件夹有什么作用

Linux proc目录下子文件或子文件夹有什么作用

proc 进程 系统 内核 85    来源:    2025-04-26

/proc 是 Linux 系统中一个特殊的虚拟文件系统,它不占用磁盘空间,而是内核运行时信息的动态映射。该目录下的文件和子目录提供了对系统内核参数、进程信息、硬件状态等的实时访问。以下是主要文件和子目录的作用详解:


1. 核心系统信息文件

  • /proc/cpuinfo
    显示 CPU 的详细信息(型号、核心数、频率、特性标志等)。

    cat /proc/cpuinfo
    
  • /proc/meminfo
    系统内存使用情况(总内存、空闲内存、缓存等)。

    cat /proc/meminfo | grep MemTotal
    
  • /proc/version
    当前运行的内核版本和编译信息。

  • /proc/uptime
    系统启动时间和空闲时间(秒)。

    cat /proc/uptime
    
  • /proc/loadavg
    系统负载平均值(1/5/15分钟的平均负载,运行进程数等)。


2. 硬件与设备信息

  • /proc/interrupts
    已分配的中断请求(IRQ)列表,显示每个 CPU 核心的中断统计。

    cat /proc/interrupts
    
  • /proc/devices
    已加载的块设备和字符设备列表。

  • /proc/partitions
    磁盘分区信息(名称、大小、块数等)。

  • /proc/mounts
    当前挂载的文件系统列表(等效于 mount 命令)。


3. 内核参数与配置

  • /proc/sys/ 目录
    动态调整内核参数(需 sysctl 命令或直接写入文件):

    • /proc/sys/net/ipv4/ip_forward:控制 IP 转发(0/1)。
    • /proc/sys/kernel/hostname:系统主机名。
    • /proc/sys/vm/swappiness:控制交换分区使用倾向。

    示例:启用 IP 转发

    echo 1 > /proc/sys/net/ipv4/ip_forward
    

4. 进程信息(PID 子目录)

每个运行进程会生成一个以 PID 命名的子目录(如 /proc/1234/),包含: - /proc/PID/cmdline:进程启动命令(含参数)。 - /proc/PID/status:进程状态(内存、用户、线程等)。 - /proc/PID/fd/:进程打开的文件描述符(符号链接)。 - /proc/PID/environ:进程的环境变量。 - /proc/PID/stat:进程的详细状态(运行时间、优先级等)。

示例:查看进程 1(init)的命令

cat /proc/1/cmdline

5. 网络与性能统计

  • /proc/net/ 目录
    网络栈信息,如:

    • arp:ARP 表。
    • tcp:TCP 连接状态。
    • dev:网络接口流量统计。
  • /proc/stat
    系统全局统计(CPU 使用率、上下文切换次数等)。

    cat /proc/stat | grep cpu
    

6. 其他重要文件

  • /proc/kmsg
    内核日志(需 dmesg 或 root 权限访问)。
  • /proc/modules
    已加载的内核模块列表(等效于 lsmod)。
  • /proc/filesystems
    支持的文件系统类型。

注意事项

  1. 权限限制:部分文件需要 root 权限读取或修改。
  2. 临时性/proc 下的内容随系统状态动态变化,重启后重置。
  3. 调试工具stracelsof 等工具依赖 /proc 获取进程信息。

常见用途

  • 性能监控:通过 meminfostat 等分析资源使用。
  • 故障排查:检查进程状态、打开文件或网络连接。
  • 内核调优:修改 /proc/sys/ 下的参数优化系统行为。

如果需要更详细的信息,可以通过 man proc 查看完整文档。