linux PROC檔案系統詳解

來源:互聯網
上載者:User
/proc檔案系統下的多種檔案提供的系統資訊不是針對某個特定進程的,而是能夠在整個系統範圍的上下文中使用。可以使用的檔案隨系統配置的變化而變化。命令procinfo能夠顯示基於其中某些檔案的多種系統資訊。以下詳細描述/proc下的檔案。--------------------------------------------------------------------------------
/proc/cmdline檔案
這個檔案給出了核心啟動的命令列。它和用於進程的cmdline項非常相似。
--------------------------------------------------------------------------------
/proc/cpuinfo檔案
這個檔案提供了有關係統CPU的多種資訊。這些資訊是從核心裡對CPU的測試代碼中得到的。檔案列出了CPU的普通型號(386,486,586,686等),以及能得到的更多特定資訊(製造商,型號和版本)。檔案還包含了以bogomips表示的處理器速度,而且如果檢測到CPU的多種特性或者bug,檔案還會包含相應的標誌。這個檔案的格式為:檔案由多行構成,每行包括一個網域名稱稱,一個冒號和一個值。
--------------------------------------------------------------------------------
/proc/devices檔案
這個檔案列出字元和塊裝置的主裝置號,以及分配到這些裝置號的裝置名稱。 http://www.armforum.cn
--------------------------------------------------------------------------------
/proc/dma檔案
這個檔案列出由驅動程式保留的DMA通道和保留它們的驅動程式名稱。casade項供用於把次DMA控制器從主控制器分出的DMA行所使用;這一行不能用於其它用途。
--------------------------------------------------------------------------------
/proc/filesystems檔案
這個檔案列出可供使用的檔案系統類型,一種類型一行。雖然它們通常是編入核心的檔案系統類型,但該檔案還可以包含可載入的核心模組加入的其它檔案系統類型。
--------------------------------------------------------------------------------
/proc/interrupts檔案
這個檔案的每一行都有一個保留的中斷。每行中的域有:中斷號,本行中斷的發生次數,可能帶有一個加號的域(SA_INTERRUPT標誌設定),以及登記這個中斷的驅動程式的名字。可以在安裝新硬體前,像查看/proc/dma和/proc/ioports一樣用cat命令手工查看手頭的這個檔案。這幾個檔案列出了當前投入使用的資源(但是不包括那些沒有載入驅動程式的硬體所使用的資源)。
-------------------------------------------------------------------------------- 字串8
/proc/ioports檔案
這個檔案列出了諸如磁碟機,乙太網路卡和音效卡裝置等多種裝置驅動程式登記的許多I/O連接埠範圍。
--------------------------------------------------------------------------------
/proc/kcore檔案
這個檔案是系統的實體記憶體以core檔案格式儲存的檔案。例如,GDB能用它考察核心的資料結構。它不是純文字,而是/proc目錄下為數不多的幾個二進位格式的項之一。
-------------------------------------------------------------------------------
/proc/kmsg檔案
這個檔案用於檢索用printk產生的核心訊息。任何時刻只能有一個具有超級使用者權限的進程可以讀取這個檔案。也可以用系統調用syslog檢索這些訊息。通常使用工具dmesg或守護進程klogd檢索這些訊息。
--------------------------------------------------------------------------------
/proc/ksyms檔案
這個檔案列出了已經登記的核心符號;這些符號給出了變數或函數的地址。每行給出一個符號的地址,符號名稱以及登記這個符號的模組。程式ksyms,insmod和kmod使用這個檔案。它還列出了正在啟動並執行任務數,總任務數和最後分配的PID。
-------------------------------------------------------------------------------- 字串4
/proc/loadavg檔案
這個檔案給出以幾個不同的時間間隔計算的系統平均負載,這就如同uptime命令顯示的結果那樣。前三個數字是平均負載。這是通過計算過去1分鐘,5分鐘,15分鐘裡運行隊列中的平均任務數得到的。隨後是正在啟動並執行任務數和總任務數。最後是上次使用的進程號。
--------------------------------------------------------------------------------
/proc/locks檔案
這個檔案包含在開啟的檔案上的加鎖資訊。檔案中的每一行描述了特定檔案和文檔上的加鎖資訊以及對檔案施加的鎖的類型。核心也可以需要時對檔案施加強制性鎖。
--------------------------------------------------------------------------------
/proc/mdstat檔案
這個檔案包含了由md裝置驅動程式控制的RAID裝置資訊。
--------------------------------------------------------------------------------
/proc/meminfo檔案
這個檔案給出了記憶體狀態的資訊。它顯示出系統中空閑記憶體,已用實體記憶體和交換記憶體的總量。它還顯示出核心使用的共用記憶體和緩衝區總量。這些資訊的格式和free命令顯示的結果類似。
-------------------------------------------------------------------------------- http://www.armforum.cn
/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日起的秒數)。 http://www.armforum.cn
--------------------------------------------------------------------------------
/proc/uptime檔案
這個檔案給出自從上次系統自舉以來的秒數,以及其中有多少秒處於空閑。這主要供uptime程式使用。比較這兩個數字能夠告訴你長期來看CPU周期浪費的比例。
--------------------------------------------------------------------------------
/proc/version檔案
這個檔案只有一行內容,說明正在啟動並執行核心版本。可以用標準的編程方法進行分析獲得所需的系統資訊。
--------------------------------------------------------------------------------
/proc/net子目錄
此目錄下的檔案描述或修改了連網代碼的行為。可以通過使用arp,netstat,route和ipfwadm命令設定或查詢這些特殊檔案中的許多檔案。
--------------------------------------------------------------------------------
以下摘要介紹此目錄下檔案的功能:
arp
轉儲每個網路介面的arp表中dev包的統計dev
來自網路裝置的統計dev_mcast
列出二層(資料連結層)多播組igmp

字串5


加入的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

字串8


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

字串5


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裝置的檔案,並且為每種控制器驅動程式提供一個目錄,在這個目錄下又為已安裝的此種控制器的每個執行個體提供一個子目錄。

M開發論壇


--------------------------------------------------------------------------------
/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 字串5
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 http://www.armforum.cn
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 字串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的手冊頁中也有對這些檔案的解釋文檔。把檔案和分析這些檔案的工具產生的輸出進行比較能夠更加清晰地瞭解這些檔案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.