Linux中/proc目錄下文件詳解

Linux中/proc目錄下文件詳解(一) 
  
  
  
[color=Green]聲明[/color]:可以自由轉載本文,但請務必保留本文的完整性。 
[color=Green]作者[/color]:張子堅 
[color=Green]email[/color]:[email protected] 
[color=Green]說明[/color]:本文所涉及示例均在fedora core3下得到。  

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

/proc文件系統下的多種文件提供的系統信息不是針對某個特定進程的,而是能夠在整個系統範圍的上下文中使用。可以使用的文件隨系統配置的變化而變化。命令procinfo能夠顯示基於其中某些文件的多種系統信息。以下詳細描述/proc下的文件。  


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


 [color=Blue]/proc/cmdline文件[/color] 

這個文件給出了內核啓動的命令行。它和用於進程的cmdline項非常相似。 

[color=Green]示例: [/color] 

[root@localhost proc]# cat cmdline 

ro root=LABEL=/ rhgb quiet 



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


[color=Blue] /proc/cpuinfo文件[/color] 

這個文件提供了有關係統CPU的多種信息。這些信息是從內核裏對CPU的測試代碼中得到的。文件列出了CPU的普通型號(386,486,586,686等),以及能得到的更多特定信息(製造商,型號和版本)。文件還包含了以bogomips表示的處理器速度,而且如果檢測到CPU的多種特性或者bug,文件還會包含相應的標誌。這個文件的格式爲:文件由多行構成,每行包括一個域名稱,一個冒號和一個值。 

[color=Green]示例: [/color] 

[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 



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


 [color=Blue]/proc/devices文件[/color] 

這個文件列出字符和塊設備的主設備號,以及分配到這些設備號的設備名稱。 

[color=Green]示例: [/color] 

[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  


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


[color=Blue]/proc/dma文件 [/color] 

這個文件列出由驅動程序保留的DMA通道和保留它們的驅動程序名稱。casade項供用於把次DMA控制器從主控制器分出的DMA行所使用;這一行不能用於其它用途。 
[color=Green] 
示例:[/color] 

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

4: cascade 



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

[color=Blue] 
/proc/filesystems文件[/color] 

這個文件列出可供使用的文件系統類型,一種類型一行。雖然它們通常是編入內核的文件系統類型,但該文件還可以包含可加載的內核模塊加入的其它文件系統類型。 

[color=Green]示例:[/color] 

[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  


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


[color=Blue]/proc/interrupts文件[/color] 

這個文件的每一行都有一個保留的中斷。每行中的域有:中斷號,本行中斷的發生次數,可能帶有一個加號的域(SA_INTERRUPT標誌設置),以及登記這個中斷的驅動程序的名字。可以在安裝新硬件前,像查看/proc/dma和/proc/ioports一樣用cat命令手工查看手頭的這個文件。這幾個文件列出了當前投入使用的資源(但是不包括那些沒有加載驅動程序的硬件所使用的資源)。 

[color=Green]示例:[/color] 

[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  


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

[color=Blue] 
/proc/ioports文件[/color] 

這個文件列出了諸如磁盤驅動器,以太網卡和聲卡設備等多種設備驅動程序登記的許多I/O端口範圍。 

[color=Green]示例:[/color] 

[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  


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


[color=Blue]/proc/kcore文件[/color] 

這個文件是系統的物理內存以core文件格式保存的文件。例如,GDB能用它考察內核的數據結構。它不是純文本,而是/proc目錄下爲數不多的幾個二進制格式的項之一。 

[color=Green]示例:[/color] 

暫無  


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


[color=Blue]/proc/kmsg文件[/color] 

這個文件用於檢索用printk生成的內核消息。任何時刻只能有一個具有超級用戶權限的進程可以讀取這個文件。也可以用系統調用syslog檢索這些消息。通常使用工具dmesg或守護進程klogd檢索這些消息。 

[color=Green]示例:[/color] 

暫無  


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


[color=Blue] /proc/ksyms文件[/color] 

這個文件列出了已經登記的內核符號;這些符號給出了變量或函數的地址。每行給出一個符號的地址,符號名稱以及登記這個符號的模塊。程序ksyms,insmod和kmod使用這個文件。它還列出了正在運行的任務數,總任務數和最後分配的PID。 

[color=Green]示例:[/color] 

暫無  


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


[color=Blue]/proc/loadavg文件[/color] 

這個文件給出以幾個不同的時間間隔計算的系統平均負載,這就如同uptime命令顯示的結果那樣。前三個數字是平均負載。這是通過計算過去1分鐘,5分鐘,15分鐘裏運行隊列中的平均任務數得到的。隨後是正在運行的任務數和總任務數。最後是上次使用的進程號。 

[color=Green]示例:[/color] 

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

0.11 0.16 0.14 3/126 3912  


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


[color=Blue]/proc/locks文件[/color] 

這個文件包含在打開的文件上的加鎖信息。文件中的每一行描述了特定文件和文檔上的加鎖信息以及對文件施加的鎖的類型。內核也可以需要時對文件施加強制性鎖。 

[color=Green]示例:[/color] 

[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目錄下文件詳解(二)

[ 本帖最後由 zhangzijian 於 2006-6-2 20:28 編輯 ]



 zhangzijian 回覆於:2006-06-02 14:33:56

[color=Blue]Linux中/proc目錄下文件詳解(二)[/[/color] 
[color=Green]聲明[/color]:可以自由轉載本文,但請務必保留本文的完整性。 
[color=Green]作者[/color]:張子堅 
[color=Green]email[/color]:[email protected] 
[color=Green]說明[/color]:本文所涉及示例均在fedora core3下得到。 
----------------------------------------------------------------------------------------------------- 
[color=Blue]/proc/mdstat文件[/color] 

這個文件包含了由md設備驅動程序控制的RAID設備信息。 

[color=Green]示例:[/color] 

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



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


[color=Blue]/proc/meminfo文件[/color] 

這個文件給出了內存狀態的信息。它顯示出系統中空閒內存,已用物理內存和交換內存的總量。它還顯示出內核使用的共享內存和緩衝區總量。這些信息的格式和free命令顯示的結果類似。 

[color=Green]示例:[/color] 

[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 



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


[color=Blue]/proc/misc文件[/color] 

這個文件報告用內核函數misc_register登記的設備驅動程序。 

[color=Green]示例:[/color] 

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


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


[color=Blue]/proc/modules文件[/color] 

這個文件給出可加載內核模塊的信息。lsmod程序用這些信息顯示有關模塊的名稱,大小,使用數目方面的信息。 

[color=Green]示例:[/color] 

[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 

[color=Green] 
lsmod命令顯示結果如下:[/color] 

[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  


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


[color=Blue]/proc/mounts文件[/color] 

這個文件以/etc/mtab文件的格式給出當前系統所安裝的文件系統信息。這個文件也能反映出任何手工安裝從而在/etc/mtab文件中沒有包含的文件系統。 

[color=Green]示例:[/color] 

[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  


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


[color=Blue]/proc/pci文件[/color] 

這個文件給出PCI設備的信息。用它可以方便地診斷PCI問題。你可以從這個文件中檢索到的信息包括諸如IDE接口或USB控制器這樣的設備,總線,設備和功能編號,設備延遲以及IRQ編號。 

[color=Green]示例:[/color] 

[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 128). 
      IRQ 5. 
      Master Capable.  Latency=32. 
      I/O at 0xec00 [0xec1f]. 
  Bus  0, device  16, function  1: 
    Class 0c03: PCI device 1106:3038 (rev 128). 
      IRQ 3. 
      Master Capable.  Latency=32. 
      I/O at 0xe800 [0xe81f]. 
  Bus  0, device  16, function  0: 
    Class 0c03: PCI device 1106:3038 (rev 128). 
     

  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].  


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

[color=Blue]/proc/stat文件 [/color] 

這個文件包含的信息有CPU利用率,磁盤,內存頁,內存對換,全部中斷,接觸開關以及賞賜自舉時間(自1970年1月1日起的秒數)。 

[color=Green]示例:[/color] 

[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  


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

[color=Blue] 
/proc/uptime文件[/color] 

這個文件給出自從上次系統自舉以來的秒數,以及其中有多少秒處於空閒。這主要供uptime程序使用。比較這兩個數字能夠告訴你長期來看CPU週期浪費的比例。 

[color=Green]示例:[/color] 

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


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


[color=Blue]/proc/version文件[/color] 

這個文件只有一行內容,說明正在運行的內核版本。可以用標準的編程方法進行分析獲得所需的系統信息。 
[color=Green] 
示例:[/color] 

[root@localhost /]# cat /proc/version 
Linux version 2.6.9-1.667 ([email][email protected][/email]) (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目錄下文件詳解(三)


 zhangzijian 回覆於:2006-06-02 14:40:36

[color=Blue] Linux中/proc目錄下文件詳解(三)[/color] 

[color=Green]聲明[/color]:可以自由轉載本文,但請務必保留本文的完整性。 
[color=Green]作者[/color]:張子堅 
[color=Green]email[/color]:[email protected] 
[color=Green]說明[/color]:本文所涉及示例均在fedora core3下得到。 
--------------------------------------------------------------------------------------------------- 
[color=Green]續Linux中/proc目錄下文件詳解(二)[/color]-------------------------------------------------------------------------------- 
[color=Blue]/proc/net子目錄[/color] 
  
此目錄下的文件描述或修改了聯網代碼的行爲。可以通過使用arp,netstat,route和ipfwadm命令設置或查詢這些特殊文件中的許多文件。 
  
[color=Green]示例:[/color] 
[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  
-------------------------------------------------------------------------------- 


[color=Green]以下摘要介紹此目錄下文件的功能:[/color] 
  
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域套接口的套接口表  
-------------------------------------------------------------------------------- 

  
[color=Green]示例:[/color][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 

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

  
[color=Blue]/proc/scsi子目錄[/color] 
  
此目錄下包含一個列出了所有檢測到的SCSI設備的文件,並且爲每種控制器驅動程序提供一個目錄,在這個目錄下又爲已安裝的此種控制器的每個實例提供一個子目錄。 
  
[color=Green]示例:[/color] 
由於本人的機器沒有SCSI設備,顧暫時無法提供示例。  
-------------------------------------------------------------------------------- 

  
[color=Blue]/proc/sys子目錄[/color] 
  
在此目錄下有許多子目錄。此目錄中的許多項都可以用來調整系統的性能。這個目錄包含信息太多,無法介紹全部。只在示例中展示目錄下的一些文件。 
  
[color=green]示例:[/color][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 

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

  
[color=Blue]總結:[/color]/proc文件系統包含了大量的有關當前系統狀態的信息。proc的手冊頁中也有對這些文件的解釋文檔。把文件和分析這些文件的工具產生的輸出進行比較能夠更加清晰地瞭解這些文件。 

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

  
[color=Green]參考文獻[/color]:《GNU/linux編程指南》[美]Kurt Wall等著 張輝 譯 SAMS 清華大學出版社
---------------------------------------------------------------------------------- 

[size=2][color=Blue]全文完[/color][/size]



原文鏈接:http://linux.chinaunix.net/bbs/viewthread.php?tid=766494
轉載請註明作者名及原文出處

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章