/proc文件系統下的多種文件提供的系統信息不是針對某個特定進程的,而是能夠在整個系統范圍的上下文中使用。可以 使用的文件隨系統配置的變化而變化。命令procinfo能夠顯示基於其中某些文件的多種系統信息。以下詳細描述/proc下的 文件。
--------------------------------------------------------------------------------
/proc/cmdline文件
這個文件給出了內核啟動的命令行。它和用於進程的cmdline項非常相似。
---- ----------------------------------------------------------------------------
/proc/cpuinfo文件
這個文件提供了有關系統CPU的多種信息。這些信息是從內核裡對CPU的測試代碼中得到的。文件列出了CPU的普通型號(386 ,486,586,686 等),以及能得到的更多特定信息(制造商,型號和版本)。文件還包含了以bogomips表示的處理器速度 ,而且如果檢測到CPU的多種特性或者bug,文件還會包含相應的標志。這個文件的格式為:文件由多行構成,每行包括一個 域名稱,一個冒號和一個值。
-------------------------------------------------------------------------- ------
/proc/devices文件
這個文件列出字符和塊設備的主設備號,以及分配到這些設備號的設備名稱。
--------------------------------------------------------------------------------
/proc/dma文件
這個文件列出由驅動程序保留的DMA通道和保留它們的驅動程序名稱。casade項供用於把次DMA控制器從主控制器分 出的DMA行所使用;這一行不能用於其它用途。
----------------------------------------------------------- ---------------------
/proc/filesystems文件
這個文件列出可供使用的文件系統類型,一種類型一行。雖 然它們通常是編入內核的文件系統類型,但該文件還可以包含可加載的內核模塊加入的其它文件系統類型。
------ --------------------------------------------------------------------------
/proc/interrupts文件
這個文件的每一行都有一個保留的中斷。每行中的域有:中斷號,本行中斷的發生次數,可能帶有一個加號的域 (SA_INTERRUPT標志設置),以及登記這個中斷的驅動程序的名字。可以在安裝新硬件前,像查看/proc/dma 和/proc/ioports一樣用cat命令手工查看手頭的這個文件。這幾個文件列出了當前投入使用的資源(但是不包括那些沒有加 載驅動程序的硬件所使用的資源)。
-------------------------------------------------------------------- ------------
/proc/ioports文件
這個文件列出了諸如磁盤驅動器,以太網卡和聲卡設備等多種設備驅動程 序登記的許多I/O端口范圍。
--------------------------------------------------------------------------- -----
/proc/kcore文件
這個文件是系統的物理內存以core文件格式保存的文件。例如,GDB能用它考察內核 的數據結構。它不是純文本,而是/proc目錄下為數不多的幾個二進制格式的項之一。
------------------------- ------------------------------------------------------
/proc/kmsg文件
這個文件用於檢索用printk生 成的內核消息。任何時刻只能有一個具有超級用戶權限的進程可以讀取這個文件。也可以用系統調用syslog檢索這些消息。 通常使用工具dmesg或守護進程klogd檢索這些消息。
------------------------------------------------------ --------------------------
/proc/ksyms文件
這個文件列出了已經登記的內核符號;這些符號給出了變量 或函數的地址。每行給出一個符號的地址,符號名稱以及登記這個符號的模塊。程序ksyms,insmod和kmod使用這個文件。它 還列出了正在運行的任務數,總任務數和最後分配的PID。
------------------------------------------------- -------------------------------p://www.armforum.cn
/proc/loadavg文件
這個文件給出以幾個不同的時 間間隔計算的系統平均負載,這就如同uptime命令顯示的結果那樣。前三個數字是平均負載。這是通過計算過去1分鐘,5分 鐘,15分鐘裡運行隊列中的平均任務數得到的。隨後是正在運行的任務數和總任務數。最後是上次使用的進程號。
--------------------------------------------------------------------------------
/proc/locks文件
這個文件包含在打開的文件上的加鎖信息。文件中的每一行描述了特定文件和文檔上的加鎖信息以及對文件施加的 鎖的類型。內核也可以需要時對文件施加強制性鎖。
------------------------------------------------------ --------------------------
/proc/mdstat文件
這個文件包含了由md設備驅動程序控制的RAID設備信息。
--------------------------------------------------------------------------------
/proc/meminfo 文件
這個文件給出了內存狀態的信息。它顯示出系統中空閒內存,已用物理內存和交換內存的總量。它還顯示出內 核使用的共享內存和緩沖區總量。這些信息的格式和free命令顯示的結果類似。
------------------------------ -------------------------------------------------- /proc/misc文件
這個文件報告用內核函數misc_register 登記的設備驅動程序。
--------------------------------------------------------------------------------
/proc/modules文件
這個文件給出可加載內核模塊的信息。lsmod程序用這些信息顯示有關模塊的名稱,大小 ,使用數目方面的信息。
------------------------------------------------------------------------------ --
/proc/mounts文件
這個文件以/etc/mtab文件的格式給出當前系統所安裝的文件系統信息。這個文件也能 反映出任何手工安裝從而在/etc/mtab文件中沒有包含的文件系統。
----------------------------------------- ---------------------------------------
/proc/pci文件
這個文件給出PCI設備的信息。用它可以方便地 診斷PCI問題。你可以從這個文件中檢索到的信息包括諸如IDE接口或USB控制器這樣的設備,總線,設備和功能編號,設備 延遲以及IRQ編號。
--------------------------------------------------------------------------------
/proc/stat文件
這個文件包含的信息有CPU利用率,磁盤,內存頁,內存對換,全部中斷,接觸開關以及賞 賜自舉時間(自1970年1月1日起的秒數)。
------------------------------------------------------------- -------------------
/proc/uptime文件
這個文件給出自從上次系統自舉以來的秒數,以及其中有多少秒處 於空閒。這主要供uptime程序使用。比較這兩個數字能夠告訴你長期來看CPU周期浪費的比例。
----------------- ---------------------------------------------------------------
/proc/version文件
這個文件只有一 行內容,說明正在運行的內核版本。可以用標准的編程方法進行分析獲得所需的系統信息。
-------------------- ------------------------------------------------------------
/proc/net子目錄
此目錄下的文件描述 或修改了聯網代碼的行為。可以通過使用arp,netstat,route和ipfwadm命令設置或查詢這些特殊文件中的許多文件。
--------------------------------------------------------------------------------
以下摘要介紹此 目錄下文件的功能:
arp
轉儲每個網絡接口的arp表中dev包的統計
dev
來自網絡設備的統計
dev_mcast
列出二層(數據鏈路層)多播組
igmp
ARM
加入的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設備的文件,並且為每種控制器驅動程序提供 一個目錄,在這個目錄下又為已安裝的此種控制器的每個實例提供一個子目錄。 ------------------------------------ --------------------------------------------
/proc/sys子目錄
在此目錄下有許多子目錄。此目錄中的 許多項都可以用來調整系統的性能。這個目錄包含信息太多,無法介紹全部。只在示例中展示目錄下的一些文件。
--------------------------------------------------------------------------------
[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 M開發論壇
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 字串5
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_pisor
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 字串8
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的手冊頁 中也有對這些文件的解釋文檔。把文件和分析這些文件的工 具產生的輸出進行比較能夠更加清晰地了解這些文件