/proc
是 Linux 系统中一个特殊的虚拟文件系统,它不占用磁盘空间,而是内核运行时信息的动态映射。该目录下的文件和子目录提供了对系统内核参数、进程信息、硬件状态等的实时访问。以下是主要文件和子目录的作用详解:
/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分钟的平均负载,运行进程数等)。
/proc/interrupts
已分配的中断请求(IRQ)列表,显示每个 CPU 核心的中断统计。
cat /proc/interrupts
/proc/devices
已加载的块设备和字符设备列表。
/proc/partitions
磁盘分区信息(名称、大小、块数等)。
/proc/mounts
当前挂载的文件系统列表(等效于 mount
命令)。
/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
每个运行进程会生成一个以 PID 命名的子目录(如 /proc/1234/
),包含:
- /proc/PID/cmdline
:进程启动命令(含参数)。
- /proc/PID/status
:进程状态(内存、用户、线程等)。
- /proc/PID/fd/
:进程打开的文件描述符(符号链接)。
- /proc/PID/environ
:进程的环境变量。
- /proc/PID/stat
:进程的详细状态(运行时间、优先级等)。
示例:查看进程 1(init)的命令
cat /proc/1/cmdline
/proc/net/
目录
网络栈信息,如:
arp
:ARP 表。tcp
:TCP 连接状态。dev
:网络接口流量统计。/proc/stat
系统全局统计(CPU 使用率、上下文切换次数等)。
cat /proc/stat | grep cpu
/proc/kmsg
dmesg
或 root 权限访问)。/proc/modules
lsmod
)。/proc/filesystems
/proc
下的内容随系统状态动态变化,重启后重置。strace
、lsof
等工具依赖 /proc
获取进程信息。meminfo
、stat
等分析资源使用。/proc/sys/
下的参数优化系统行为。如果需要更详细的信息,可以通过 man proc
查看完整文档。