当前位置:Linux教程 - Linux文化 - Linux中/proc目录下文件详解

Linux中/proc目录下文件详解


Linux中/proc目录下文件详解(一)

声明:可以自由转载本文,但请务必保留本文的完整性。 作者:张子坚 email:[email protected] 说明:本文所涉及示例均在fedora core3下得到。

--------------------------------------------------------------------------------

/proc文件系统下的多种文件提供的系统信息不是针对某个特定进程的,而是能够在整个系统范围的上下文中使用。可以使用的文件随系统配置的变化而变化。命令procinfo能够显示基于其中某些文件的多种系统信息。以下详细描述/proc下的文件。

--------------------------------------------------------------------------------

/proc/cmdline文件

这个文件给出了内核启动的命令行。它和用于进程的cmdline项非常相似。

示例:

[root@localhost proc]# cat cmdline

ro root=LABEL=/ rhgb quiet

--------------------------------------------------------------------------------

/proc/cpuinfo文件

这个文件提供了有关系统CPU的多种信息。这些信息是从内核里对CPU的测试代码中得到的。文件列出了CPU的普通型号(386,486,586,686等),以及能得到的更多特定信息(制造商,型号和版本)。文件还包含了以bogomips表示的处理器速度,而且如果检测到CPU的多种特性或者bug,文件还会包含相应的标志。这个文件的格式为:文件由多行构成,每行包括一个域名称,一个冒号和一个值。

示例:

[root@localhost proc]# cat cpuinfo

processor : 0

vendor_id : AuthenticAMD

cpu family : 6

model : 8

model name : AMD Athlon(tm) XP 1800+

stepping : 1

cpu MHz : 1530.165

cache size : 256 KB

fdiv_bug : no

hlt_bug : no

f00f_bug : no

coma_bug : no

fpu : yes

fpu_exception : yes

cpuid level : 1

wp : yes

flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow

bogomips : 2998.27

--------------------------------------------------------------------------------

/proc/devices文件

这个文件列出字符和块设备的主设备号,以及分配到这些设备号的设备名称。

示例:

[root@localhost /]# cat /proc/devices

Character devices:

1 mem

4 /dev/vc/0

4 tty

4 ttyS

5 /dev/tty

5 /dev/console

5 /dev/ptmx

6 lp

7 vcs

10 misc

13 input

14 sound

29 fb

36 netlink

116 alsa

128 ptm

136 pts

180 usb

Block devices:

1 ramdisk

2 fd

3 ide0

9 md

22 ide1

253 device-mapper

254 mdp

--------------------------------------------------------------------------------

/proc/dma文件

这个文件列出由驱动程序保留的DMA通道和保留它们的驱动程序名称。casade项供用于把次DMA控制器从主控制器分出的DMA行所使用;这一行不能用于其它用途。

示例:

[root@localhost ~]# cat /proc/dma

4: cascade

--------------------------------------------------------------------------------

/proc/filesystems文件

这个文件列出可供使用的文件系统类型,一种类型一行。虽然它们通常是编入内核的文件系统类型,但该文件还可以包含可加载的内核模块加入的其它文件系统类型。

示例:

[root@localhost proc]# cat /proc/filesystems

nodev sysfs

nodev rootfs

nodev bdev

nodev proc

nodev sockfs

nodev binfmt_misc

nodev usbfs

nodev usbdevfs

nodev futexfs

nodev tmpfs

nodev pipefs

nodev eventpollfs

nodev devpts

ext2

nodev ramfs

nodev hugetlbfs

iso9660

nodev mqueue

nodev selinuxfs

ext3

nodev rpc_pipefs

nodev autofs

--------------------------------------------------------------------------------

/proc/interrupts文件

这个文件的每一行都有一个保留的中断。每行中的域有:中断号,本行中断的发生次数,可能带有一个加号的域(SA_INTERRUPT标志设置),以及登记这个中断的驱动程序的名字。可以在安装新硬件前,像查看/proc/dma和/proc/ioports一样用cat命令手工查看手头的这个文件。这几个文件列出了当前投入使用的资源(但是不包括那些没有加载驱动程序的硬件所使用的资源)。

示例:

[root@localhost SPECS]# cat /proc/interrupts

CPU0

0: 7039406 XT-PIC timer

1: 6533 XT-PIC i8042

2: 0 XT-PIC cascade

3: 0 XT-PIC uhci_hcd

5: 108 XT-PIC VIA8233, uhci_hcd

8: 1 XT-PIC rtc

9: 0 XT-PIC acpi

10: 0 XT-PIC ehci_hcd

11: 17412 XT-PIC uhci_hcd, eth0

12: 140314 XT-PIC i8042

14: 37897 XT-PIC ide0

15: 60813 XT-PIC ide1

NMI: 0

ERR: 1

--------------------------------------------------------------------------------

/proc/ioports文件

这个文件列出了诸如磁盘驱动器,以太网卡和声卡设备等多种设备驱动程序登记的许多I/O端口范围。

示例:

[root@localhost SPECS]# cat /proc/ioports

0000-001f : dma1

0020-0021 : pic1

0040-0043 : timer0

0050-0053 : timer1

0060-006f : keyboard

0070-0077 : rtc

0080-008f : dma page reg

00a0-00a1 : pic2

00c0-00df : dma2

00f0-00ff : fpu

0170-0177 : ide1

01f0-01f7 : ide0

0376-0376 : ide1

0378-037a : parport0

037b-037f : parport0

03c0-03df : vga+

03f6-03f6 : ide0

03f8-03ff : serial

0800-0803 : PM1a_EVT_BLK

0804-0805 : PM1a_CNT_BLK

0808-080b : PM_TMR

0810-0815 : ACPI CPU throttle

0820-0823 : GPE0_BLK

0cf8-0cff : PCI conf1

dc00-dcff : 0000:00:12.0

dc00-dcff : via-rhine

e000-e0ff : 0000:00:11.5

e000-e0ff : VIA8233

e400-e41f : 0000:00:10.0

e400-e41f : uhci_hcd

e800-e81f : 0000:00:10.1

e800-e81f : uhci_hcd

ec00-ec1f : 0000:00:10.2

ec00-ec1f : uhci_hcd

fc00-fc0f : 0000:00:11.1

fc00-fc07 : ide0

fc08-fc0f : ide1

--------------------------------------------------------------------------------

/proc/kcore文件

这个文件是系统的物理内存以core文件格式保存的文件。例如,GDB能用它考察内核的数据结构。它不是纯文本,而是/proc目录下为数不多的几个二进制格式的项之一。

示例:

暂无

--------------------------------------------------------------------------------

/proc/kmsg文件

这个文件用于检索用printk生成的内核消息。任何时刻只能有一个具有超级用户权限的进程可以读取这个文件。也可以用系统调用syslog检索这些消息。通常使用工具dmesg或守护进程klogd检索这些消息。

示例:

暂无

--------------------------------------------------------------------------------

/proc/ksyms文件

这个文件列出了已经登记的内核符号;这些符号给出了变量或函数的地址。每行给出一个符号的地址,符号名称以及登记这个符号的模块。程序ksyms,insmod和kmod使用这个文件。它还列出了正在运行的任务数,总任务数和最后分配的PID。

示例:

暂无

--------------------------------------------------------------------------------

/proc/loadavg文件

这个文件给出以几个不同的时间间隔计算的系统平均负载,这就如同uptime命令显示的结果那样。前三个数字是平均负载。这是通过计算过去1分钟,5分钟,15分钟里运行队列中的平均任务数得到的。随后是正在运行的任务数和总任务数。最后是上次使用的进程号。

示例:

[root@localhost ~]# cat /proc/loadavg

0.11 0.16 0.14 3/126 3912

--------------------------------------------------------------------------------

/proc/locks文件

这个文件包含在打开的文件上的加锁信息。文件中的每一行描述了特定文件和文档上的加锁信息以及对文件施加的锁的类型。内核也可以需要时对文件施加强制性锁。

示例:

[root@localhost redhat]# cat /proc/locks

1: POSIX ADVISORY READ 3822 03:0a:1067117 0 EOF

2: POSIX ADVISORY READ 3822 03:0a:1067138 0 EOF

3: POSIX ADVISORY WRITE 3326 03:0a:2326540 0 EOF

4: POSIX ADVISORY WRITE 2639 03:0a:2966595 0 EOF

5: FLOCK ADVISORY WRITE 2591 03:0a:2966586 0 EOF

6: POSIX ADVISORY WRITE 2540 03:0a:2966578 0 EOF

7: POSIX ADVISORY WRITE 2530 03:0a:2966579 0 EOF

8: POSIX ADVISORY WRITE 2402 03:0a:2966563 0 EOF

9: POSIX ADVISORY WRITE 2371 03:0a:2966561 0 EOF

--------------------------------------------------------------------------------

参考文献:《GNU/linux编程指南》[美]Kurt Wall等著 张辉 译 SAMS 清华大学出版社 Linux中/proc目录下文件详解(二) /proc/mdstat文件

这个文件包含了由md设备驱动程序控制的RAID设备信息。

示例:

[root@localhost ~]# cat /proc/mdstat Personalities : unused devices:

--------------------------------------------------------------------------------

/proc/meminfo文件

这个文件给出了内存状态的信息。它显示出系统中空闲内存,已用物理内存和交换内存的总量。它还显示出内核使用的共享内存和缓冲区总量。这些信息的格式和free命令显示的结果类似。

示例:

[root@localhost ~]# cat /proc/meminfo MemTotal: 223812 kB MemFree: 3764 kB Buffers: 9148 kB Cached: 92112 kB SwapCached: 364 kB Active: 183640 kB Inactive: 17196 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 223812 kB LowFree: 3764 kB SwapTotal: 626524 kB SwapFree: 620328 kB Dirty: 12 kB Writeback: 0 kB Mapped: 142880 kB Slab: 12668 kB Committed_AS: 376732 kB PageTables: 2336 kB VmallocTotal: 3907576 kB VmallocUsed: 2968 kB VmallocChunk: 3904224 kB HugePages_Total: 0 HugePages_Free: 0 Hugepagesize: 4096 kB

--------------------------------------------------------------------------------

/proc/misc文件

这个文件报告用内核函数misc_register登记的设备驱动程序。

示例:

[root@localhost ~]# cat /proc/misc 63 device-mapper 175 agpgart 135 rtc

--------------------------------------------------------------------------------

/proc/modules文件

这个文件给出可加载内核模块的信息。lsmod程序用这些信息显示有关模块的名称,大小,使用数目方面的信息。

示例:

[root@localhost /]# cat /proc/modules md5 4033 1 - Live 0x10a7f000 ipv6 232577 8 - Live 0x10b0c000 parport_pc 24705 1 - Live 0x10a8b000 lp 11565 0 - Live 0x10a7b000 parport 41737 2 parport_pc,lp, Live 0x10a55000 autofs4 24005 0 - Live 0x10a74000 i2c_dev 10433 0 - Live 0x109d2000 i2c_core 22081 1 i2c_dev, Live 0x10a6d000 sunrpc 160421 1 - Live 0x10a9d000 ipt_REJECT 6465 1 - Live 0x109da000 ipt_state 1857 5 - Live 0x109eb000 ip_conntrack 40693 1 ipt_state, Live 0x10a62000 iptable_filter 2753 1 - Live 0x10896000 ip_tables 16193 3 ipt_REJECT,ipt_state,iptable_filter, Live 0x109ed000 dm_mod 54741 0 - Live 0x109f8000 button 6481 0 - Live 0x10905000 battery 8517 0 - Live 0x109d6000 ac 4805 0 - Live 0x10908000 uhci_hcd 31449 0 - Live 0x109dd000 ehci_hcd 31557 0 - Live 0x10949000 snd_via82xx 27237 2 - Live 0x10953000 snd_ac97_codec 64401 1 snd_via82xx, Live 0x10912000 snd_pcm_oss 47609 0 - Live 0x1093c000 snd_mixer_oss 17217 2 snd_pcm_oss, Live 0x1090c000 snd_pcm 97993 2 snd_via82xx,snd_pcm_oss, Live 0x10923000 snd_timer 29765 1 snd_pcm, Live 0x108ec000 snd_page_alloc 9673 2 snd_via82xx,snd_pcm, Live 0x108bd000 gameport 4801 1 snd_via82xx, Live 0x108a6000 snd_mpu401_uart 8769 1 snd_via82xx, Live 0x108b9000 snd_rawmidi 26725 1 snd_mpu401_uart, Live 0x108e4000 snd_seq_device 8137 1 snd_rawmidi, Live 0x1083b000 snd 54053 11 snd_via82xx,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device, Live 0x108f6000 soundcore 9889 2 snd, Live 0x1089b000 via_rhine 23497 0 - Live 0x1089f000 mii 4673 1 via_rhine, Live 0x10893000 floppy 58609 0 - Live 0x108a9000 ext3 116809 1 - Live 0x10875000 jbd 74969 1 ext3, Live 0x10861000

lsmod命令显示结果如下:

[root@localhost /]# lsmod Module Size Used by md5 4033 1 ipv6 232577 8 parport_pc 24705 1 lp 11565 0 parport 41737 2 parport_pc,lp autofs4 24005 0 i2c_dev 10433 0 i2c_core 22081 1 i2c_dev sunrpc 160421 1 ipt_REJECT 6465 1 ipt_state 1857 5 ip_conntrack 40693 1 ipt_state iptable_filter 2753 1 ip_tables 16193 3 ipt_REJECT,ipt_state,iptable_filter dm_mod 54741 0 button 6481 0 battery 8517 0 ac 4805 0 uhci_hcd 31449 0 ehci_hcd 31557 0 snd_via82xx 27237 2 snd_ac97_codec 64401 1 snd_via82xx snd_pcm_oss 47609 0 snd_mixer_oss 17217 2 snd_pcm_oss snd_pcm 97993 2 snd_via82xx,snd_pcm_oss snd_timer 29765 1 snd_pcm snd_page_alloc 9673 2 snd_via82xx,snd_pcm gameport 4801 1 snd_via82xx snd_mpu401_uart 8769 1 snd_via82xx snd_rawmidi 26725 1 snd_mpu401_uart snd_seq_device 8137 1 snd_rawmidi snd 54053 11 snd_via82xx,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device soundcore 9889 2 snd via_rhine 23497 0 mii 4673 1 via_rhine floppy 58609 0 ext3 116809 1 jbd 74969 1 ext3

--------------------------------------------------------------------------------

/proc/mounts文件

这个文件以/etc/mtab文件的格式给出当前系统所安装的文件系统信息。这个文件也能反映出任何手工安装从而在/etc/mtab文件中没有包含的文件系统。

示例:

[root@localhost /]# cat /proc/mounts rootfs / rootfs rw 0 0 /proc /proc proc rw,nodiratime 0 0 none /dev tmpfs rw 0 0 /dev/root / ext3 rw 0 0 none /dev tmpfs rw 0 0 none /selinux selinuxfs rw 0 0 /proc /proc proc rw,nodiratime 0 0 /proc/bus/usb /proc/bus/usb usbfs rw 0 0 /sys /sys sysfs rw 0 0 none /dev/pts devpts rw 0 0 none /dev/shm tmpfs rw 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0 sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0

--------------------------------------------------------------------------------

/proc/pci文件

这个文件给出PCI设备的信息。用它可以方便地诊断PCI问题。你可以从这个文件中检索到的信息包括诸如IDE接口或USB控制器这样的设备,总线,设备和功能编号,设备延迟以及IRQ编号。

示例:

[root@localhost /]# cat /proc/pci PCI devices found: Bus 0, device 0, function 0: Class 0600: PCI device 1106:3116 (rev 0). Master Capable. Latency=8. Prefetchable 32 bit memory at 0xe0000000 [0xe7ffffff]. Bus 0, device 1, function 0: Class 0604: PCI device 1106:b091 (rev 0). Master Capable. No bursts. Min Gnt=12. Bus 0, device 16, function 2: Class 0c03: PCI device 1106:3038 (rev 12. IRQ 5. Master Capable. Latency=32. I/O at 0xec00 [0xec1f]. Bus 0, device 16, function 1: Class 0c03: PCI device 1106:3038 (rev 12. IRQ 3. Master Capable. Latency=32. I/O at 0xe800 [0xe81f]. Bus 0, device 16, function 0: Class 0c03: PCI device 1106:3038 (rev 12.

IRQ 11. Master Capable. Latency=32. I/O at 0xe400 [0xe41f]. Bus 0, device 16, function 3: Class 0c03: PCI device 1106:3104 (rev 130). IRQ 10. Master Capable. Latency=32. Non-prefetchable 32 bit memory at 0xdfffff00 [0xdfffffff]. Bus 0, device 17, function 0: Class 0601: PCI device 1106:3177 (rev 0). Bus 0, device 17, function 1: Class 0101: PCI device 1106:0571 (rev 6). IRQ 255. Master Capable. Latency=32. I/O at 0xfc00 [0xfc0f]. Bus 0, device 17, function 5: Class 0401: PCI device 1106:3059 (rev 80). IRQ 5. I/O at 0xe000 [0xe0ff]. Bus 0, device 18, function 0: Class 0200: PCI device 1106:3065 (rev 116). IRQ 11. Master Capable. Latency=32. Min Gnt=3.Max Lat=8. I/O at 0xdc00 [0xdcff]. Non-prefetchable 32 bit memory at 0xdffffe00 [0xdffffeff]. Bus 1, device 0, function 0: Class 0300: PCI device 5333:8d04 (rev 0). IRQ 11. Master Capable. Latency=32. Min Gnt=4.Max Lat=255. Non-prefetchable 32 bit memory at 0xdfe80000 [0xdfefffff]. Prefetchable 32 bit memory at 0xd0000000 [0xd7ffffff].

--------------------------------------------------------------------------------

/proc/stat文件

这个文件包含的信息有CPU利用率,磁盘,内存页,内存对换,全部中断,接触开关以及赏赐自举时间(自1970年1月1日起的秒数)。

示例:

[root@localhost /]# cat /proc/stat cpu 31994 3898 7161 381600 15254 451 0 cpu0 31994 3898 7161 381600 15254 451 0 intr 4615930 4404290 3364 0 0 12 0 7 0 2 0 0 12618 112114 0 44142 39381 ctxt 1310498 btime 1148891913 processes 4249 procs_running 4 procs_blocked 0

--------------------------------------------------------------------------------

/proc/uptime文件

这个文件给出自从上次系统自举以来的秒数,以及其中有多少秒处于空闲。这主要供uptime程序使用。比较这两个数字能够告诉你长期来看CPU周期浪费的比例。

示例:

[root@localhost /]# cat /proc/uptime 4477.04 4021.10

--------------------------------------------------------------------------------

/proc/version文件

这个文件只有一行内容,说明正在运行的内核版本。可以用标准的编程方法进行分析获得所需的系统信息。

示例:

[root@localhost /]# cat /proc/version Linux version 2.6.9-1.667 ([email protected]) (gcc version 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)) #1 Tue Nov 2 14:41:25 EST 2004

---------------------------------------------------------------------------------

参考文献:《GNU/linux编程指南》[美]Kurt Wall等著 张辉 译 SAMS 清华大学出版社

---------------------------------------------------------------------------------

续Linux中/proc目录下文件详解(三) /proc/net子目录

此目录下的文件描述或修改了联网代码的行为。可以通过使用arp,netstat,route和ipfwadm命令设置或查询这些特殊文件中的许多文件。

示例: [root@localhost /]# ls /proc/net anycast6 ip_conntrack mcfilter6 rt6_stats tcp arp ip_conntrack_expect netlink rt_acct tcp6 dev ip_mr_cache netstat rt_cache udp dev_mcast ip_mr_vif packet snmp udp6 dev_snmp6 ip_tables_matches psched snmp6 unix if_inet6 ip_tables_names raw sockstat wireless igmp ip_tables_targets raw6 sockstat6 igmp6 ipv6_route route softnet_stat ip6_flowlabel mcfilter rpc stat --------------------------------------------------------------------------------

以下摘要介绍此目录下文件的功能:

arp 转储每个网络接口的arp表中dev包的统计

dev 来自网络设备的统计

dev_mcast 列出二层(数据链路层)多播组

igmp 加入的IGMP多播组

netlink netlink套接口的信息

netstat 网络流量的多种统计。第一行是信息头,带有每个变量的名称。接下来的一行保存相应变量的值

raw 原始套接口的套接口表

route 静态路由表

rpc 包含RPC信息的目录

rt_cache 路由缓冲

snmp snmp agent的ip/icmp/tcp/udp协议统计;各行交替给出字段名和值

sockstat 列出使用的tcp/udp/raw/pac/syc_cookies的数量

tcp TCP连接的套接口

udp UDP连接的套接口表

unix UNIX域套接口的套接口表 --------------------------------------------------------------------------------

示例:[root@localhost /]# cat /proc/net/route Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT eth0 0035C2DA 00000000 0001 0 0 0 80FFFFF0 eth0 0000FEA9 00000000 0001 0 0 0 0000FFF0 eth0 00000000 0135C2DA 0003 0 0 0 00000000 --------------------------------------------------------------------------------

[root@localhost /]# cat /proc/net/tcp sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode 0: 00000000:8000 00000000:0000 0A 00000000:00000000 00:00000000 00000000 29 0 9525 1 0dde7500 3000 0 0 2 -1 1: 00000000:006F 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 9484 1 0dde79e0 3000 0 0 2 -1 2: 0100007F:0277 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 10049 1 0a8e3a00 3000 0 0 2 -1 3: 0100007F:14D7 00000000:0000 0A 00000000:00000000 00:00000000 00000000 99 0 9847 1 0dde7020 3000 0 0 2 -1 4: 0100007F:0019 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 10286 1 0a8e3520 3000 0 0 2 -1 -------------------------------------------------------------------------------- [root@localhost /]# cat /proc/net/arp IP address HW type Flags HW address Mask Device 218.194.53.1 0x1 0x2 00:0D:BC:78:07:3F * eth0 -------------------------------------------------------------------------------- [root@localhost /]# cat /proc/net/udp sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode 0: 00000000:8000 00000000:0000 07 00000000:00000000 00:00000000 00000000 29 0 9520 2 0b4ef7c0 105: 00000000:14E9 00000000:0000 07 00000000:00000000 00:00000000 00000000 99 0 10284 2 0b4ef040 111: 00000000:006F 00000000:0000 07 00000000:00000000 00:00000000 00000000 0 0 9483 2 0b4efcc0 116: 00000000:02F4 00000000:0000 07 00000000:00000000 00:00000000 00000000 0 0 9511 2 0b4efa40 119: 00000000:0277 00000000:0000 07 00000000:00000000 00:00000000 00000000 0 0 10050 2 0b4ef2c0

--------------------------------------------------------------------------------

/proc/scsi子目录

此目录下包含一个列出了所有检测到的SCSI设备的文件,并且为每种控制器驱动程序提供一个目录,在这个目录下又为已安装的此种控制器的每个实例提供一个子目录。

示例: 由于本人的机器没有SCSI设备,顾暂时无法提供示例。 --------------------------------------------------------------------------------

/proc/sys子目录

在此目录下有许多子目录。此目录中的许多项都可以用来调整系统的性能。这个目录包含信息太多,无法介绍全部。只在示例中展示目录下的一些文件。

示例:[root@localhost /]# ls /proc/sys debug dev fs kernel net proc sunrpc vm -------------------------------------------------------------------------------- [root@localhost ~]# ls /proc/sys/fs aio-max-nr dentry-state file-nr lease-break-time overflowgid aio-nr dir-notify-enable inode-nr leases-enable overflowuid binfmt_misc file-max inode-state mqueue quota -------------------------------------------------------------------------------- [root@localhost ~]# ls /proc/sys/kernel acct hotplug panic sem cad_pid modprobe panic_on_oops shmall cap-bound msgmax pid_max shmmax core_pattern msgmnb print-fatal-signals shmmni core_uses_pid msgmni printk sysrq ctrl-alt-del ngroups_max printk_ratelimit tainted domainname osrelease printk_ratelimit_burst threads-max exec-shield ostype pty vdso exec-shield-randomize overflowgid random version hostname overflowuid real-root-dev -------------------------------------------------------------------------------- [root@localhost ~]# ls /proc/sys/net core ethernet ipv4 ipv6 unix --------------------------------------------------------------------------------

[root@localhost sys]# ls /proc/sys/vm block_dump laptop_mode nr_pdflush_threads dirty_background_ratio legacy_va_layout overcommit_memory dirty_expire_centisecs lower_zone_protection overcommit_ratio dirty_ratio max_map_count page-cluster dirty_writeback_centisecs min_free_kbytes swappiness hugetlb_shm_group nr_hugepages vfs_cache_pressure --------------------------------------------------------------------------------

[root@localhost sys]# ls /proc/sys/net/ipv4 conf tcp_fack icmp_echo_ignore_all tcp_fin_timeout icmp_echo_ignore_broadcasts tcp_frto icmp_ignore_bogus_error_responses tcp_keepalive_intvl icmp_ratelimit tcp_keepalive_probes icmp_ratemask tcp_keepalive_time igmp_max_memberships tcp_low_latency igmp_max_msf tcp_max_orphans inet_peer_gc_maxtime tcp_max_syn_backlog inet_peer_gc_mintime tcp_max_tw_buckets inet_peer_maxttl tcp_mem inet_peer_minttl tcp_moderate_rcvbuf inet_peer_threshold tcp_no_metrics_save ip_autoconfig tcp_orphan_retries ip_conntrack_max tcp_reordering ip_default_ttl tcp_retrans_collapse ip_dynaddr tcp_retries1 ip_forward tcp_retries2 ipfrag_high_thresh tcp_rfc1337 ipfrag_low_thresh tcp_rmem ipfrag_secret_interval tcp_sack ipfrag_time tcp_stdurg ip_local_port_range tcp_synack_retries ip_nonlocal_bind tcp_syncookies ip_no_pmtu_disc tcp_syn_retries neigh tcp_timestamps netfilter tcp_tso_win_divisor route tcp_tw_recycle tcp_abort_on_overflow tcp_tw_reuse tcp_adv_win_scale tcp_vegas_alpha tcp_app_win tcp_vegas_beta tcp_bic tcp_vegas_cong_avoid tcp_bic_fast_convergence tcp_vegas_gamma tcp_bic_low_window tcp_westwood tcp_dsack tcp_window_scaling tcp_ecn tcp_wmem --------------------------------------------------------------------------------

[root@localhost sys]# cat /proc/sys/kernel/shmall 2097152 -------------------------------------------------------------------------------- [root@localhost sys]# cat /proc/sys/kernel/osrelease 2.6.9-1.667

--------------------------------------------------------------------------------

总结:/proc文件系统包含了大量的有关当前系统状态的信息。proc的手册页中也有对这些文件的解释文档。把文件和分析这些文件的工具产生的输出进行比较能够更加清晰地了解这些文件。

--------------------------------------------------------------------------------

参考文献:《GNU/linux编程指南》[美]Kurt Wall等著 张辉 译 SAMS 清华大学出版社 ----------------------------------------------------------------------------------