/proc 目录


  • /proc 文件目录是一个伪文件,它只存在于系统内存中,而不占用外存空间。它以文件系统的方式为用户提供访问内核数据的操作接口。目录下主要包含进程和状态的信息。

/proc 下文件含义

文件 内容
/proc/cmdline 载入 kernel 时所下达的相关指令与参数
/proc/cpuinfo 本机的 CPU 的相关信息,包含频率、类型与运算功能等
/proc/devices 这个文件记录了系统各个主要设备的主要设备代号,与 mknod 有关
/proc/filesystems 目前系统已经载入的文件系统
/proc/interrupts 目前系统上面的 IRQ 分配状态
/proc/ioports 目前系统上面各个设备所配置的 I/O 位址
/proc/kcore 这个就是内存的大小,建议不要进行读取,很大
/proc/loadavg 根据过去一段时间内CPU和IO的状态得出的负载状态,与uptime命令有关
/proc/meminfo 使用 free 列出的内存信息,在这里也能够查阅到
/proc/modules Linux 已经载入的模块列表,也就是驱动程序的载入情况,lsmod的输出结果
/proc/mounts 系统已经挂载的数据
/proc/swaps 显示交换分区的使用情况
/proc/partitions 使用 fdisk -l 会列出的目前所有 partition
/proc/version 核心的版本,用 uname -a 会显示的内容
/proc/buddyinfo 每个内存区中的每个order有多少块可用,和内存碎片问题有关
/proc/crypto 内核使用的所有已安装的加密密码及细节
/proc/dma 已注册使用的ISA DMA频道列表
/proc/execdomains linux内核当前支持的execution domains[1]
/proc/fb 帧缓冲设备列表,包括数量和控制它的驱动
/proc/filesystems 内核当前支持的文件系统类型
/proc/interrupts x86架构中的每个IRQ中断数
/proc/iomem 每个物理设备当前在系统内存中的映射
/proc/ioports 一个设备的输入输出所使用的注册端口范围
/proc/kmsg 记录内核生成的信息,可以通过/sbin/klogd或/bin/dmesg来处理
/proc/locks 内核锁住的文件列表
/proc/mdstat 多硬盘,RAID配置信息(md=multiple disks)
/proc/meminfo RAM使用的相关信息
/proc/misc 其他的主要设备(设备号为10)上注册的驱动
/proc/pci 系统中的PCI设备列表,系统的pci总线信息
/proc/slabinfo 系统中所有活动的 slab 缓存信息
/proc/stat 系统的一些状态信息,cpu、中断等
/proc/bus/(目录) 一些总线的设备,USB 的设备也记录在此

/proc 下的数字目录

Linux系统中当前运行的每一个进程都有对应的一个目录在 /proc 下,以进程的PID号为目录名。其中,/proc/self/ 为当前进程的信息目录。

文件[2] 内容
/proc/N/pid 为N的进程信息
/proc/N/cmdline 进程启动命令
/proc/N/cwd 链接到进程当前工作目录
/proc/N/environ 进程环境变量列表
/proc/N/exe 进程的执行命令文件,包含完整路径
/proc/N/fd (目录) 目录下包含进程相关的所有的文件描述符
/proc/N/maps 与进程相关的内存映射信息
/proc/N/mem 指代进程持有的内存,不可读
/proc/N/root 链接到进程的根目录
/proc/N/stat 进程的状态
/proc/N/statm 进程使用的内存的状态
/proc/N/status 进程状态信息,比stat/statm更具可读性

参考

  1. https://zhuanlan.zhihu.com/p/378388389

  1. 我理解这里的domain为linux中每个进程都只能看到的自己私有的内存空间,personality (2) - Linux Man Pages 里有相关说明。 ↩︎

  2. 这里用 N 代表进程PID号。 ↩︎

posted on 2022-07-15 11:15  WORMARZ  阅读(700)  评论(0编辑  收藏  举报