proc文件系统并不是一个实际的文件系统,然而他却非常有用。它并不是用来存储数据的,而是提供了运行中内核的接口。proc文件系统能让管理员随时监控和调整内核。图2-5展示了proc文件系统的示例。大多数Linux性能量度工具都要依靠/proc所提供的信息。
 
在proc文件系统中,有几个子目录我们从名字就能辨别出他们的用途,但proc目录中的大部分信息是很难读懂的,你最好使用像vmstat这样的工具通过更易读的方式来显示各种统计信息。注意在不同的系统架构中proc文件系统的布局和所包含信息有所不同。

▶ /proc目录中文件

proc根目录下的文件涉及多种有关系统的统计信息。你可以使用如vmstat和cpuinfo来显示这些信息。

▶ 数字1到X

有一些以数字命名的子目录,代表运行中进程和相应的进程ID(PID)。目录结构总是以PID 1开始,它代表init进程。每个以数字命名的子目录都存储着所对应进程的统计信息,如进程所映射的虚拟内存。
▶ acpi
ACPI表示高级配置和电源管理接口,大多数台式电脑和笔记本电脑现在都支持此技术。因为ACPI主要为PC技术,在服务器系统中通常被禁用。关于更多ACPI的资料参考:http://www.apci.info
▶ bus
这个子目录包含总线子系统的相关信息,如PCI总线或USB接口。
▶ net
net子目录包含关于网络接口的大量原始统计数据,如接收的广播封包或每个网络接口的路由信息。
▶ scsi
此目录包含SCSI子系统相关信息,如连接的设备或驱动的版本。在大多数IBM System x服务器中会有一个名叫ips的目录用来记录IBM ServeRAID控制器相关信息。
▶ sys
在sys子目录下你能找到可以调整的内核参数如虚拟内存管理或网络堆栈。我将在4.3“Changing kernel parameters”中介绍一些选项和可调值。
▶ tty
tty子目录包含系统各虚拟终端相关信息和它们连接了哪些物理设备。