Linux下/proc目录介绍
发布网友
发布时间:2024-09-26 18:41
我来回答
共1个回答
热心网友
时间:2024-10-06 05:35
Linux下的/proc目录是内核提供的一种机制,用于在运行时访问内核内部数据结构和改变内核设置。它是一个伪文件系统,以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序通过/proc可以获取系统信息,并能修改内核参数。系统的信息,如进程,是动态改变的,因此用户读取/proc文件时,是动态从系统内核读出所需信息并提交的。
在/proc目录中,存在多个子文件或子文件夹,如/sys、net、scsi和sys。特别地,sys目录是可写的,用于访问或修改内核参数;net和scsi则依赖于内核配置。对于进程信息,/proc目录下存在数字命名的目录,代表系统中当前运行的每一个进程,例如进程PID号的目录;self目录则是读取进程本身信息的接口。
以下是部分/proc目录中具体文件或子目录的介绍:
- /proc/buddyinfo:与内存区中的每个order的可用块数量和内存碎片相关。
- /proc/cmdline:启动时传递给kernel的参数信息。
- /proc/cpuinfo:CPU信息。
- /proc/crypto:内核使用的所有已安装加密密码及细节。
- /proc/devices:已加载设备并分类。
- /proc/dma:已注册使用的ISA DMA频道列表。
- /proc/execdomains:支持的execution domains信息。
- /proc/fb:帧缓冲设备列表,包括数量和控制它的驱动。
- /proc/filesystems:内核当前支持的文件系统类型。
- /proc/interrupts:x86架构中的每个IRQ中断数。
- /proc/iomem:每个物理设备在系统内存中的映射。
- /proc/ioports:一个设备的输入输出所使用的注册端口范围。
- /proc/kcore:代表系统的物理内存,存储为核心文件格式。
- /proc/kmsg:记录内核生成的信息,可以通过/sbin/klogd或/bin/dmesg处理。
- /proc/loadavg:根据过去一段时间内CPU和IO状态得出的负载状态,与uptime命令相关。
- /proc/locks:内核锁住的文件列表。
- /proc/mdstat:多硬盘、RAID配置信息。
- /proc/meminfo:RAM使用相关信息。
- /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/uptime:系统已经运行了多久。
- /proc/swaps:交换空间的使用情况。
- /proc/version:Linux内核版本和gcc版本。
在/proc目录中,还存在针对特定进程的信息目录,如 /proc/N,这里N代表进程ID。这些目录提供了关于特定进程的详细信息,如启动命令、当前工作目录、环境变量、执行命令文件、文件描述符、内存映射信息等。
举例来说,要查看/proc目录中的内容,可以使用`ls /proc/`命令。此外,/proc/sys目录包含了系统信息和内核参数,例如,要查看当前配置的文件句柄最大数,可以使用`cat /proc/sys/fs/file-max`命令。改变内核参数可以通过编辑或重定向到文件中完成,例如,使用`echo 8192 > /proc/sys/fs/file-max`来增加文件句柄的最大数目。