proc下的内容

/proc目录作为Linux系统的重要组成部分,提供了丰富的系统信息和状态。从CPU信息到内存使用,从设备列表到网络状态,/proc目录几乎涵盖了系统监控和调试所需的所有数据。本文将详细介绍/proc目录下各子目录的功能和用途,帮助读者更好地理解和利用这些资源。

/proc 目录:虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。

/proc/buddyinfo每个内存区中的每个order有多少块可用,和内存碎片问题有关
/proc/cmdline启动时传递给kernel的参数信息
/proc/cpuinfocpu的信息
/proc/crypto内核使用的所有已安装的加密密码及细节
/proc/devices已经加载的设备并分类
/proc/dma已注册使用的ISA DMA频道列表
/proc/execdomainsLinux内核当前支持的execution domains
/proc/fb帧缓冲设备列表,包括数量和控制它的驱动
/proc/filesystems内核当前支持的文件系统类型
/proc/interruptsx86架构中的每个IRQ中断数
/proc/iomem每个物理设备当前在系统内存中的映射
/proc/ioports一个设备的输入输出所使用的注册端口范围
/proc/kcore代表系统的物理内存,存储为核心文件格式,里边显示的是字节数,等于RAM大小加上4kb
/proc/kmsg记录内核生成的信息,可以通过/sbin/klogd或/bin/dmesg来处理
/proc/loadavg根据过去一段时间内CPU和IO的状态得出的负载状态,与uptime命令有关
/proc/locks内核锁住的文件列表
/proc/mdstat多硬盘,RAID配置信息(md=multiple disks)
/proc/meminfoRAM使用的相关信息
/proc/misc其他的主要设备(设备号为10)上注册的驱动
/proc/modules所有加载到内核的模块列表
/proc/mounts系统中使用的所有挂载
/proc/mtrr系统使用的Memory Type Range Registers (MTRRs)
/proc/partitions分区中的块分配信息
/proc/pci系统中的PCI设备列表
/proc/slabinfo系统中所有活动的 slab 缓存信息
/proc/stat所有的CPU活动信息
/proc/sysrq-trigger使用echo命令来写这个文件的时候,远程root用户可以执行大多数的系统请求关键命令,就好像在本地终端执行一样。要写入这个文件,需要把/proc/sys/kernel/sysrq不能设置为0。这个文件对root也是不可读的
/proc/uptime系统已经运行了多久
/proc/swaps交换空间的使用情况
/proc/versionLinux内核版本和gcc版本
/proc/bus系统总线(Bus)信息,例如pci/usb等
/proc/driver驱动信息
/proc/fs文件系统信息
/proc/ideide设备信息
/proc/irq中断请求设备信息
/proc/net网卡设备信息
/proc/scsiscsi设备信息
/proc/tty tty设备信息
/proc/net/dev显示网络适配器及统计信息
/proc/vmstat虚拟内存统计信息
/proc/vmcore内核panic时的内存映像
/proc/diskstats取得磁盘信息
/proc/schedstatkernel调度器的统计信息
/proc/zoneinfo显示内存空间的统计信息,对分析虚拟内存行为很有用
/proc/Npid为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更具可读性
/proc/self/链接到当前正在运行的进程
在读取 `/proc/pid/mem` 的场景下,`/proc/pid/maps` 文件具有重要作用,它能为读取内存提供必要的信息。`/proc/pid/maps` 文件会显示进程的内存映射信息,包含了每个内存区域的起始地址、结束地址、权限、偏移量、设备号、inode 以及区域的简要描述等内容。 以下是一个 `/proc/pid/maps` 文件内容的示例: ```plaintext 00400000-0040c000 r-xp 00000000 08:01 1330 /usr/bin/vim 0060b000-0060c000 r--p 0000b000 08:01 1330 /usr/bin/vim 0060c000-0060d000 rw-p 0000c000 08:01 1330 /usr/bin/vim 018c8000-018e9000 rw-p 00000000 00:00 0 [heap] 7f9d80000000-7f9d80021000 rw-p 00000000 00:00 0 7f9d80021000-7f9d84000000 ---p 00000000 00:00 0 7f9d84000000-7f9d84021000 rw-p 00000000 00:00 0 7f9d84021000-7f9d88000000 ---p 00000000 00:00 0 7ffd69d2d000-7ffd69d4e000 rw-p 00000000 00:00 0 [stack] 7ffd69dff000-7ffd69e02000 r--p 00000000 00:00 0 [vvar] 7ffd69e02000-7ffd69e04000 r-xp 00000000 00:00 0 [vdso] ``` 在读取 `/proc/pid/mem` 时,可依据 `maps` 文件来确定要读取的内存区域。例如,若要读取 `/usr/bin/vim` 程序代码段的内存内容,可根据 `maps` 文件中 `/usr/bin/vim` 对应的起始地址和结束地址(如 `00400000-0040c000`),使用这些地址在 `/proc/pid/mem` 中定位并读取相应的内存数据。 此外,查看 `/proc/pid/smaps` 文件内容,能获取进程使用内存的更详细说明,比 `maps` 信息更详细,包含内存的实际大小、真正使用的大小等信息 [^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值