Linux proc virtual file system点滴

Proc是一个虚拟文件系统,在Linux系统中它被挂载于/proc目录之上。 Proc有多个功能,包括用户可以通过它访问内核信息或用于排错,也可以以文本流的形式来访问进程信息。很多 Linux 命令 ( 比如 ps 、 toPpstree 等 ) 都需要使用这个文件系统的信息。linux提供了一种通过 /proc 文件系统在运行时访问内核内部数据结构、改变内核设置的机制和接口。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间,其为基于随机访问存储器 (RAM) 的文件系统,类似系统还有tmpfs,swapfs等。/proc 文件系统是一种内核和内核模块用来向进程 (process) 发送信息的机制。

一 系统/内核信息 proc 文件系统可以被用于收集有用的关于系统和运行中的内核的信息。/proc下的每个文件都绑到一个内核函数上, 当文件被读的时候即时产生文件内容。下面是一些重要的文件:

名称 说明

apm 高级电源管理信息 cmdline系统启动时输入的内核命令行参数 cpuinfo CPU 的信息 (型号, 家族, 缓存大小等) devices主设备号及设备组的列表,当前加载的各种设备(块设备/字符设备) dma 使用的DMA通道 filesystems当前内核支持的文件系统,当没有给 mount(1) 指明哪个文件系统的时候, mount(1) 就依靠该文件遍历不同的文件系统 interrupts 中断的使用及触发次数,调试中断时很有用 ioports I/O当前在用的已注册 I/O 端口范围 kcore该伪文件以 core 文件格式给出了系统的物理内存映象,可以用 GDB 查探当前内核的任意数据结构。该文件的总长度是物理内存 (RAM) 的大小再加上 4KB kmsg可以用该文件取代系统调用 syslog(2) 来记录内核日志信息,对应dmesg命令 ksyms 内核符号表,该文件保存了内核输出的符号定义, modules(X)使用该文件动态地连接和捆绑可装载的模块 loadavg 负载均衡,平均负载数给出了在过去的 1, 5, 15 分钟里在运行队列里的任务数 locks 内核锁 meminfo物理内存、交换空间等的信息,系统内存占用情况,对应df命令 misc 杂项 modules 已经加载的模块列表,对应lsmod命令 mounts已加载的文件系统的列表,对应mount命令,无参数 net/ 该子目录包括多个 ASCII 格式的网络伪文件, 描述了网络层的部分情况 tcp udp arp route snmp … partitions 系统识别的分区表 slabinfo Slab池信息 stat 全面统计状态表,对应ps命令 swaps 对换空间的利用情况 sys/ 通过它来访问或修改内核的参数 abi crypto debug dev fs kernel net vm version指明了当前正在运行的内核版本,,对应uname –v, uptime 系统正常运行时间,对应date命令

我走得很慢!但我从不后退!

Linux proc virtual file system点滴

相关文章:

你感兴趣的文章:

标签云: