linux PROC文件系统详解
生活随笔
收集整理的這篇文章主要介紹了
linux PROC文件系统详解
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
/proc文件系統(tǒng)下的多種文件提供的系統(tǒng)信息不是針對(duì)某個(gè)特定進(jìn)程的,而是能夠在整個(gè)系統(tǒng)范圍的上下文中使用。可以使用的文件隨系統(tǒng)配置的變化而變化。命令procinfo能夠顯示基于其中某些文件的多種系統(tǒng)信息。以下詳細(xì)描述/proc下的文件。 --------------------------------------------------------------------------------
/proc/cmdline文件
這個(gè)文件給出了內(nèi)核啟動(dòng)的命令行。它和用于進(jìn)程的cmdline項(xiàng)非常相似。
--------------------------------------------------------------------------------
/proc/cpuinfo文件
這個(gè)文件提供了有關(guān)系統(tǒng)CPU的多種信息。這些信息是從內(nèi)核里對(duì)CPU的測(cè)試代碼中得到的。文件列出了CPU的普通型號(hào)(386,486,586,686等),以及能得到的更多特定信息(制造商,型號(hào)和版本)。文件還包含了以bogomips表示的處理器速度,而且如果檢測(cè)到CPU的多種特性或者bug,文件還會(huì)包含相應(yīng)的標(biāo)志。這個(gè)文件的格式為:文件由多行構(gòu)成,每行包括一個(gè)域名稱(chēng),一個(gè)冒號(hào)和一個(gè)值。
--------------------------------------------------------------------------------
/proc/devices文件
這個(gè)文件列出字符和塊設(shè)備的主設(shè)備號(hào),以及分配到這些設(shè)備號(hào)的設(shè)備名稱(chēng)。?http://www.armforum.cn
--------------------------------------------------------------------------------
/proc/dma文件
這個(gè)文件列出由驅(qū)動(dòng)程序保留的DMA通道和保留它們的驅(qū)動(dòng)程序名稱(chēng)。casade項(xiàng)供用于把次DMA控制器從主控制器分出的DMA行所使用;這一行不能用于其它用途。
--------------------------------------------------------------------------------
/proc/filesystems文件
這個(gè)文件列出可供使用的文件系統(tǒng)類(lèi)型,一種類(lèi)型一行。雖然它們通常是編入內(nèi)核的文件系統(tǒng)類(lèi)型,但該文件還可以包含可加載的內(nèi)核模塊加入的其它文件系統(tǒng)類(lèi)型。
--------------------------------------------------------------------------------
/proc/interrupts文件
這個(gè)文件的每一行都有一個(gè)保留的中斷。每行中的域有:中斷號(hào),本行中斷的發(fā)生次數(shù),可能帶有一個(gè)加號(hào)的域(SA_INTERRUPT標(biāo)志設(shè)置),以及登記這個(gè)中斷的驅(qū)動(dòng)程序的名字??梢栽诎惭b新硬件前,像查看/proc/dma和/proc/ioports一樣用cat命令手工查看手頭的這個(gè)文件。這幾個(gè)文件列出了當(dāng)前投入使用的資源(但是不包括那些沒(méi)有加載驅(qū)動(dòng)程序的硬件所使用的資源)。
--------------------------------------------------------------------------------?字串8
/proc/ioports文件
這個(gè)文件列出了諸如磁盤(pán)驅(qū)動(dòng)器,以太網(wǎng)卡和聲卡設(shè)備等多種設(shè)備驅(qū)動(dòng)程序登記的許多I/O端口范圍。
--------------------------------------------------------------------------------
/proc/kcore文件
這個(gè)文件是系統(tǒng)的物理內(nèi)存以core文件格式保存的文件。例如,GDB能用它考察內(nèi)核的數(shù)據(jù)結(jié)構(gòu)。它不是純文本,而是/proc目錄下為數(shù)不多的幾個(gè)二進(jìn)制格式的項(xiàng)之一。
-------------------------------------------------------------------------------
/proc/kmsg文件
這個(gè)文件用于檢索用printk生成的內(nèi)核消息。任何時(shí)刻只能有一個(gè)具有超級(jí)用戶(hù)權(quán)限的進(jìn)程可以讀取這個(gè)文件。也可以用系統(tǒng)調(diào)用syslog檢索這些消息。通常使用工具dmesg或守護(hù)進(jìn)程klogd檢索這些消息。
--------------------------------------------------------------------------------
/proc/ksyms文件
這個(gè)文件列出了已經(jīng)登記的內(nèi)核符號(hào);這些符號(hào)給出了變量或函數(shù)的地址。每行給出一個(gè)符號(hào)的地址,符號(hào)名稱(chēng)以及登記這個(gè)符號(hào)的模塊。程序ksyms,insmod和kmod使用這個(gè)文件。它還列出了正在運(yùn)行的任務(wù)數(shù),總?cè)蝿?wù)數(shù)和最后分配的PID。
--------------------------------------------------------------------------------?字串4
/proc/loadavg文件
這個(gè)文件給出以幾個(gè)不同的時(shí)間間隔計(jì)算的系統(tǒng)平均負(fù)載,這就如同uptime命令顯示的結(jié)果那樣。前三個(gè)數(shù)字是平均負(fù)載。這是通過(guò)計(jì)算過(guò)去1分鐘,5分鐘,15分鐘里運(yùn)行隊(duì)列中的平均任務(wù)數(shù)得到的。隨后是正在運(yùn)行的任務(wù)數(shù)和總?cè)蝿?wù)數(shù)。最后是上次使用的進(jìn)程號(hào)。
--------------------------------------------------------------------------------
/proc/locks文件
這個(gè)文件包含在打開(kāi)的文件上的加鎖信息。文件中的每一行描述了特定文件和文檔上的加鎖信息以及對(duì)文件施加的鎖的類(lèi)型。內(nèi)核也可以需要時(shí)對(duì)文件施加強(qiáng)制性鎖。
--------------------------------------------------------------------------------
/proc/mdstat文件
這個(gè)文件包含了由md設(shè)備驅(qū)動(dòng)程序控制的RAID設(shè)備信息。
--------------------------------------------------------------------------------
/proc/meminfo文件
這個(gè)文件給出了內(nèi)存狀態(tài)的信息。它顯示出系統(tǒng)中空閑內(nèi)存,已用物理內(nèi)存和交換內(nèi)存的總量。它還顯示出內(nèi)核使用的共享內(nèi)存和緩沖區(qū)總量。這些信息的格式和free命令顯示的結(jié)果類(lèi)似。
--------------------------------------------------------------------------------?http://www.armforum.cn
/proc/misc文件
這個(gè)文件報(bào)告用內(nèi)核函數(shù)misc_register登記的設(shè)備驅(qū)動(dòng)程序。
--------------------------------------------------------------------------------
/proc/modules文件
這個(gè)文件給出可加載內(nèi)核模塊的信息。lsmod程序用這些信息顯示有關(guān)模塊的名稱(chēng),大小,使用數(shù)目方面的信息。
--------------------------------------------------------------------------------
/proc/mounts文件
這個(gè)文件以/etc/mtab文件的格式給出當(dāng)前系統(tǒng)所安裝的文件系統(tǒng)信息。這個(gè)文件也能反映出任何手工安裝從而在/etc/mtab文件中沒(méi)有包含的文件系統(tǒng)。
--------------------------------------------------------------------------------
/proc/pci文件
這個(gè)文件給出PCI設(shè)備的信息。用它可以方便地診斷PCI問(wèn)題。你可以從這個(gè)文件中檢索到的信息包括諸如IDE接口或USB控制器這樣的設(shè)備,總線(xiàn),設(shè)備和功能編號(hào),設(shè)備延遲以及IRQ編號(hào)。
--------------------------------------------------------------------------------
/proc/stat文件?
這個(gè)文件包含的信息有CPU利用率,磁盤(pán),內(nèi)存頁(yè),內(nèi)存對(duì)換,全部中斷,接觸開(kāi)關(guān)以及賞賜自舉時(shí)間(自1970年1月1日起的秒數(shù))。?http://www.armforum.cn
--------------------------------------------------------------------------------
/proc/uptime文件
這個(gè)文件給出自從上次系統(tǒng)自舉以來(lái)的秒數(shù),以及其中有多少秒處于空閑。這主要供uptime程序使用。比較這兩個(gè)數(shù)字能夠告訴你長(zhǎng)期來(lái)看CPU周期浪費(fèi)的比例。
--------------------------------------------------------------------------------
/proc/version文件
這個(gè)文件只有一行內(nèi)容,說(shuō)明正在運(yùn)行的內(nèi)核版本??梢杂脴?biāo)準(zhǔn)的編程方法進(jìn)行分析獲得所需的系統(tǒng)信息。
--------------------------------------------------------------------------------
/proc/net子目錄
此目錄下的文件描述或修改了聯(lián)網(wǎng)代碼的行為??梢酝ㄟ^(guò)使用arp,netstat,route和ipfwadm命令設(shè)置或查詢(xún)這些特殊文件中的許多文件。
--------------------------------------------------------------------------------
以下摘要介紹此目錄下文件的功能:
arp
轉(zhuǎn)儲(chǔ)每個(gè)網(wǎng)絡(luò)接口的arp表中dev包的統(tǒng)計(jì) dev
來(lái)自網(wǎng)絡(luò)設(shè)備的統(tǒng)計(jì) dev_mcast
列出二層(數(shù)據(jù)鏈路層)多播組 igmp 字串5
加入的IGMP多播組 netlink
netlink套接口的信息 netstat
網(wǎng)絡(luò)流量的多種統(tǒng)計(jì)。第一行是信息頭,帶有每個(gè)變量的名稱(chēng)。接下來(lái)的一行保存相應(yīng)變量的值 raw
原始套接口的套接口表 route
靜態(tài)路由表 rpc
包含RPC信息的目錄 rt_cache
路由緩沖 snmp
snmp agent的ip/icmp/tcp/udp協(xié)議統(tǒng)計(jì);各行交替給出字段名和值 sockstat
列出使用的tcp/udp/raw/pac/syc_cookies的數(shù)量 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子目錄
此目錄下包含一個(gè)列出了所有檢測(cè)到的SCSI設(shè)備的文件,并且為每種控制器驅(qū)動(dòng)程序提供一個(gè)目錄,在這個(gè)目錄下又為已安裝的此種控制器的每個(gè)實(shí)例提供一個(gè)子目錄。 M開(kāi)發(fā)論壇
--------------------------------------------------------------------------------
/proc/sys子目錄
在此目錄下有許多子目錄。此目錄中的許多項(xiàng)都可以用來(lái)調(diào)整系統(tǒng)的性能。這個(gè)目錄包含信息太多,無(wú)法介紹全部。只在示例中展示目錄下的一些文件。
--------------------------------------------------------------------------------
[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
--------------------------------------------------------------------------------
總結(jié):
/proc文件系統(tǒng)包含了大量的有關(guān)當(dāng)前系統(tǒng)狀態(tài)的信息。proc的手冊(cè)頁(yè)中也有對(duì)這些文件的解釋文檔。把文件和分析這些文件的工具產(chǎn)生的輸出進(jìn)行比較能夠更加清晰地了解這些文件
/proc/cmdline文件
這個(gè)文件給出了內(nèi)核啟動(dòng)的命令行。它和用于進(jìn)程的cmdline項(xiàng)非常相似。
--------------------------------------------------------------------------------
/proc/cpuinfo文件
這個(gè)文件提供了有關(guān)系統(tǒng)CPU的多種信息。這些信息是從內(nèi)核里對(duì)CPU的測(cè)試代碼中得到的。文件列出了CPU的普通型號(hào)(386,486,586,686等),以及能得到的更多特定信息(制造商,型號(hào)和版本)。文件還包含了以bogomips表示的處理器速度,而且如果檢測(cè)到CPU的多種特性或者bug,文件還會(huì)包含相應(yīng)的標(biāo)志。這個(gè)文件的格式為:文件由多行構(gòu)成,每行包括一個(gè)域名稱(chēng),一個(gè)冒號(hào)和一個(gè)值。
--------------------------------------------------------------------------------
/proc/devices文件
這個(gè)文件列出字符和塊設(shè)備的主設(shè)備號(hào),以及分配到這些設(shè)備號(hào)的設(shè)備名稱(chēng)。?http://www.armforum.cn
--------------------------------------------------------------------------------
/proc/dma文件
這個(gè)文件列出由驅(qū)動(dòng)程序保留的DMA通道和保留它們的驅(qū)動(dòng)程序名稱(chēng)。casade項(xiàng)供用于把次DMA控制器從主控制器分出的DMA行所使用;這一行不能用于其它用途。
--------------------------------------------------------------------------------
/proc/filesystems文件
這個(gè)文件列出可供使用的文件系統(tǒng)類(lèi)型,一種類(lèi)型一行。雖然它們通常是編入內(nèi)核的文件系統(tǒng)類(lèi)型,但該文件還可以包含可加載的內(nèi)核模塊加入的其它文件系統(tǒng)類(lèi)型。
--------------------------------------------------------------------------------
/proc/interrupts文件
這個(gè)文件的每一行都有一個(gè)保留的中斷。每行中的域有:中斷號(hào),本行中斷的發(fā)生次數(shù),可能帶有一個(gè)加號(hào)的域(SA_INTERRUPT標(biāo)志設(shè)置),以及登記這個(gè)中斷的驅(qū)動(dòng)程序的名字??梢栽诎惭b新硬件前,像查看/proc/dma和/proc/ioports一樣用cat命令手工查看手頭的這個(gè)文件。這幾個(gè)文件列出了當(dāng)前投入使用的資源(但是不包括那些沒(méi)有加載驅(qū)動(dòng)程序的硬件所使用的資源)。
--------------------------------------------------------------------------------?字串8
/proc/ioports文件
這個(gè)文件列出了諸如磁盤(pán)驅(qū)動(dòng)器,以太網(wǎng)卡和聲卡設(shè)備等多種設(shè)備驅(qū)動(dòng)程序登記的許多I/O端口范圍。
--------------------------------------------------------------------------------
/proc/kcore文件
這個(gè)文件是系統(tǒng)的物理內(nèi)存以core文件格式保存的文件。例如,GDB能用它考察內(nèi)核的數(shù)據(jù)結(jié)構(gòu)。它不是純文本,而是/proc目錄下為數(shù)不多的幾個(gè)二進(jìn)制格式的項(xiàng)之一。
-------------------------------------------------------------------------------
/proc/kmsg文件
這個(gè)文件用于檢索用printk生成的內(nèi)核消息。任何時(shí)刻只能有一個(gè)具有超級(jí)用戶(hù)權(quán)限的進(jìn)程可以讀取這個(gè)文件。也可以用系統(tǒng)調(diào)用syslog檢索這些消息。通常使用工具dmesg或守護(hù)進(jìn)程klogd檢索這些消息。
--------------------------------------------------------------------------------
/proc/ksyms文件
這個(gè)文件列出了已經(jīng)登記的內(nèi)核符號(hào);這些符號(hào)給出了變量或函數(shù)的地址。每行給出一個(gè)符號(hào)的地址,符號(hào)名稱(chēng)以及登記這個(gè)符號(hào)的模塊。程序ksyms,insmod和kmod使用這個(gè)文件。它還列出了正在運(yùn)行的任務(wù)數(shù),總?cè)蝿?wù)數(shù)和最后分配的PID。
--------------------------------------------------------------------------------?字串4
/proc/loadavg文件
這個(gè)文件給出以幾個(gè)不同的時(shí)間間隔計(jì)算的系統(tǒng)平均負(fù)載,這就如同uptime命令顯示的結(jié)果那樣。前三個(gè)數(shù)字是平均負(fù)載。這是通過(guò)計(jì)算過(guò)去1分鐘,5分鐘,15分鐘里運(yùn)行隊(duì)列中的平均任務(wù)數(shù)得到的。隨后是正在運(yùn)行的任務(wù)數(shù)和總?cè)蝿?wù)數(shù)。最后是上次使用的進(jìn)程號(hào)。
--------------------------------------------------------------------------------
/proc/locks文件
這個(gè)文件包含在打開(kāi)的文件上的加鎖信息。文件中的每一行描述了特定文件和文檔上的加鎖信息以及對(duì)文件施加的鎖的類(lèi)型。內(nèi)核也可以需要時(shí)對(duì)文件施加強(qiáng)制性鎖。
--------------------------------------------------------------------------------
/proc/mdstat文件
這個(gè)文件包含了由md設(shè)備驅(qū)動(dòng)程序控制的RAID設(shè)備信息。
--------------------------------------------------------------------------------
/proc/meminfo文件
這個(gè)文件給出了內(nèi)存狀態(tài)的信息。它顯示出系統(tǒng)中空閑內(nèi)存,已用物理內(nèi)存和交換內(nèi)存的總量。它還顯示出內(nèi)核使用的共享內(nèi)存和緩沖區(qū)總量。這些信息的格式和free命令顯示的結(jié)果類(lèi)似。
--------------------------------------------------------------------------------?http://www.armforum.cn
/proc/misc文件
這個(gè)文件報(bào)告用內(nèi)核函數(shù)misc_register登記的設(shè)備驅(qū)動(dòng)程序。
--------------------------------------------------------------------------------
/proc/modules文件
這個(gè)文件給出可加載內(nèi)核模塊的信息。lsmod程序用這些信息顯示有關(guān)模塊的名稱(chēng),大小,使用數(shù)目方面的信息。
--------------------------------------------------------------------------------
/proc/mounts文件
這個(gè)文件以/etc/mtab文件的格式給出當(dāng)前系統(tǒng)所安裝的文件系統(tǒng)信息。這個(gè)文件也能反映出任何手工安裝從而在/etc/mtab文件中沒(méi)有包含的文件系統(tǒng)。
--------------------------------------------------------------------------------
/proc/pci文件
這個(gè)文件給出PCI設(shè)備的信息。用它可以方便地診斷PCI問(wèn)題。你可以從這個(gè)文件中檢索到的信息包括諸如IDE接口或USB控制器這樣的設(shè)備,總線(xiàn),設(shè)備和功能編號(hào),設(shè)備延遲以及IRQ編號(hào)。
--------------------------------------------------------------------------------
/proc/stat文件?
這個(gè)文件包含的信息有CPU利用率,磁盤(pán),內(nèi)存頁(yè),內(nèi)存對(duì)換,全部中斷,接觸開(kāi)關(guān)以及賞賜自舉時(shí)間(自1970年1月1日起的秒數(shù))。?http://www.armforum.cn
--------------------------------------------------------------------------------
/proc/uptime文件
這個(gè)文件給出自從上次系統(tǒng)自舉以來(lái)的秒數(shù),以及其中有多少秒處于空閑。這主要供uptime程序使用。比較這兩個(gè)數(shù)字能夠告訴你長(zhǎng)期來(lái)看CPU周期浪費(fèi)的比例。
--------------------------------------------------------------------------------
/proc/version文件
這個(gè)文件只有一行內(nèi)容,說(shuō)明正在運(yùn)行的內(nèi)核版本??梢杂脴?biāo)準(zhǔn)的編程方法進(jìn)行分析獲得所需的系統(tǒng)信息。
--------------------------------------------------------------------------------
/proc/net子目錄
此目錄下的文件描述或修改了聯(lián)網(wǎng)代碼的行為??梢酝ㄟ^(guò)使用arp,netstat,route和ipfwadm命令設(shè)置或查詢(xún)這些特殊文件中的許多文件。
--------------------------------------------------------------------------------
以下摘要介紹此目錄下文件的功能:
arp
轉(zhuǎn)儲(chǔ)每個(gè)網(wǎng)絡(luò)接口的arp表中dev包的統(tǒng)計(jì) dev
來(lái)自網(wǎng)絡(luò)設(shè)備的統(tǒng)計(jì) dev_mcast
列出二層(數(shù)據(jù)鏈路層)多播組 igmp 字串5
加入的IGMP多播組 netlink
netlink套接口的信息 netstat
網(wǎng)絡(luò)流量的多種統(tǒng)計(jì)。第一行是信息頭,帶有每個(gè)變量的名稱(chēng)。接下來(lái)的一行保存相應(yīng)變量的值 raw
原始套接口的套接口表 route
靜態(tài)路由表 rpc
包含RPC信息的目錄 rt_cache
路由緩沖 snmp
snmp agent的ip/icmp/tcp/udp協(xié)議統(tǒng)計(jì);各行交替給出字段名和值 sockstat
列出使用的tcp/udp/raw/pac/syc_cookies的數(shù)量 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子目錄
此目錄下包含一個(gè)列出了所有檢測(cè)到的SCSI設(shè)備的文件,并且為每種控制器驅(qū)動(dòng)程序提供一個(gè)目錄,在這個(gè)目錄下又為已安裝的此種控制器的每個(gè)實(shí)例提供一個(gè)子目錄。 M開(kāi)發(fā)論壇
--------------------------------------------------------------------------------
/proc/sys子目錄
在此目錄下有許多子目錄。此目錄中的許多項(xiàng)都可以用來(lái)調(diào)整系統(tǒng)的性能。這個(gè)目錄包含信息太多,無(wú)法介紹全部。只在示例中展示目錄下的一些文件。
--------------------------------------------------------------------------------
[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
--------------------------------------------------------------------------------
總結(jié):
/proc文件系統(tǒng)包含了大量的有關(guān)當(dāng)前系統(tǒng)狀態(tài)的信息。proc的手冊(cè)頁(yè)中也有對(duì)這些文件的解釋文檔。把文件和分析這些文件的工具產(chǎn)生的輸出進(jìn)行比較能夠更加清晰地了解這些文件
總結(jié)
以上是生活随笔為你收集整理的linux PROC文件系统详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 花卷云解读淘宝客APP定制开发应该避免哪
- 下一篇: 深度学习之图像分类