亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 26913 | 回復(fù): 6
打印 上一主題 下一主題

請誰介紹下/proc,如何編程應(yīng)用? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2003-05-13 14:46 |只看該作者 |倒序?yàn)g覽
我看到很多朋友都提到。

論壇徽章:
1
榮譽(yù)版主
日期:2011-11-23 16:44:17
2 [報(bào)告]
發(fā)表于 2003-05-13 15:30 |只看該作者

請誰介紹下/proc,如何編程應(yīng)用?

/proc文件系統(tǒng)簡介

proc文件系統(tǒng)是一個(gè)偽文件系統(tǒng),它只存在內(nèi)存當(dāng)中,而不占用外存空間。它以文件系統(tǒng)的方式為訪問系統(tǒng)內(nèi)核數(shù)據(jù)的操作提供接口。用戶和應(yīng)用程序可以通過proc得到系統(tǒng)的信息,并可以改變內(nèi)核的某些參數(shù)。由于系統(tǒng)的信息,如進(jìn)程,是動(dòng)態(tài)改變的,所以用戶或應(yīng)用程序讀取proc文件時(shí),proc文件系統(tǒng)是動(dòng)態(tài)從系統(tǒng)內(nèi)核讀出所需信息并提交的。它的目錄結(jié)構(gòu)如下:
目錄名稱 目錄內(nèi)容
apm     高級(jí)電源管理信息
cmdline 內(nèi)核命令行
Cpuinfo    關(guān)于Cpu信息
Devices   可以用到的設(shè)備(塊設(shè)備/字符設(shè)備)
Dma    Used DMS channels
Filesystems 支持的文件系統(tǒng)
Interrupts 中斷的使用
Ioports    I/O端口的使用
Kcore    內(nèi)核核心印象
Kmsg     內(nèi)核消息
Ksyms    內(nèi)核符號(hào)表
Loadavg     負(fù)載均衡
Locks     內(nèi)核鎖
Meminfo     內(nèi)存信息
Misc    Miscellaneous
Modules    加載模塊列表
Mounts    加載的文件系統(tǒng)
Partitions 系統(tǒng)識(shí)別的分區(qū)表
Rtc    Real time clock
Slabinfo Slab pool info
Stat    全面統(tǒng)計(jì)狀態(tài)表s
Swaps    對換空間的利用情況
Version     內(nèi)核版本
Uptime    系統(tǒng)正常運(yùn)行時(shí)間
 并不是所有這些目錄在你的系統(tǒng)中都有,這取決于你的內(nèi)核配置和裝載的模塊。另外,在/proc下還有三個(gè)很重要的目錄:net,scsi和sys。Sys目錄是可寫的,可以通過它來訪問或修改內(nèi)核的參數(shù)(見下一部分),而net和scsi則依賴于內(nèi)核配置。例如,如果系統(tǒng)不支持scsi,則scsi目錄不存在。
除了以上介紹的這些,還有的是一些以數(shù)字命名的目錄,它們是進(jìn)程目錄。系統(tǒng)中當(dāng)前運(yùn)行的每一個(gè)進(jìn)程都有對應(yīng)的一個(gè)目錄在/proc下,以進(jìn)程的PID號(hào)為目錄名,它們是讀取進(jìn)程信息的接口。而self目錄則是讀取進(jìn)程本身的信息接口,是一個(gè)link。Proc文件系統(tǒng)的名字就是由之而起。進(jìn)程目錄的結(jié)構(gòu)如下:
目錄名稱 目錄內(nèi)容
Cmdline    命令行參數(shù)
Environ    環(huán)境變量值
Fd  一個(gè)包含所有文件描述符的目錄
Mem    進(jìn)程的內(nèi)存被利用情況
Stat    進(jìn)程狀態(tài)
Status   Process status in human readable form
Cwd   當(dāng)前工作目錄的鏈接
Exe   Link to the executable of this process
Maps    內(nèi)存印象
Statm    進(jìn)程內(nèi)存狀態(tài)信息
Root    鏈接此進(jìn)程的root目錄
用戶如果要查看系統(tǒng)信息,可以用cat命令。例如:
>; cat /proc/interrupts
      CPU0   
 0:  8728810     XT-PIC timer
 1:    895     XT-PIC keyboard
 2:     0     XT-PIC cascade
 3:   531695     XT-PIC aha152x
 4:  2014133     XT-PIC serial
 5:   44401     XT-PIC pcnet_cs
 8:     2     XT-PIC rtc
11:     8     XT-PIC i82365
12:   182918     XT-PIC Mouse
13:     1     XT-PIC fpu PS/2
14:  1232265     XT-PIC ide0
15:     7     XT-PIC ide1
NMI:     0
2、 修改內(nèi)核參數(shù)
在/proc文件系統(tǒng)中有一個(gè)有趣的目錄:/proc/sys。它不僅提供了內(nèi)核信息,而且可以通過它修改內(nèi)核參數(shù),來優(yōu)化你的系統(tǒng)。但是你必須很小心,因?yàn)榭赡軙?huì)造成系統(tǒng)崩潰。最好是先找一臺(tái)無關(guān)緊要的機(jī)子,調(diào)試成功后再應(yīng)用到你的系統(tǒng)上。
要改變內(nèi)核的參數(shù),只要用vi編輯或echo參數(shù)重定向到文件中即可。下面有一個(gè)例子:
# cat /proc/sys/fs/file-max
4096
# echo 8192 >; /proc/sys/fs/file-max
# cat /proc/sys/fs/file-max
8192
如果你優(yōu)化了參數(shù),則可以把它們寫成腳本文件,使它在系統(tǒng)啟動(dòng)時(shí)自動(dòng)完成修改。

×××××××××××××××××××××××××××××××××
/proc 文件系統(tǒng)是一個(gè)假的文件系統(tǒng)。它不存在在磁盤某個(gè)磁盤上。而是由核心在內(nèi)存中產(chǎn)生。用于提供關(guān)于系統(tǒng)的信息(originally about processes, hence the name)。下面說明一些最重要的文件和目錄。 /proc 文件系統(tǒng)在proc man頁中有更詳細(xì)的說明。

/proc/1  
關(guān)于進(jìn)程1的信息目錄。每個(gè)進(jìn)程在/proc 下有一個(gè)名為其進(jìn)程號(hào)的目錄。
/proc/cpuinfo  
處理器信息,如類型、制造商、型號(hào)和性能。
/proc/devices  
當(dāng)前運(yùn)行的核心配置的設(shè)備驅(qū)動(dòng)的列表。
/proc/dma  
顯示當(dāng)前使用的DMA通道。
/proc/filesystems  
核心配置的文件系統(tǒng)。
/proc/interrupts  
顯示使用的中斷,and how many of each there have been.
/proc/ioports  
當(dāng)前使用的I/O端口。
/proc/kcore  
系統(tǒng)物理內(nèi)存映象。與物理內(nèi)存大小完全一樣,但不實(shí)際占用這么多內(nèi)存;it is generated on the fly as programs access it. (記。撼悄惆阉截惖绞裁吹胤剑/proc 下沒有任何東西占用任何磁盤空間。)
/proc/kmsg  
核心輸出的消息。也被送到syslog 。
/proc/ksyms  
核心符號(hào)表。
/proc/loadavg  
系統(tǒng)"平均負(fù)載";3個(gè)沒有意義的指示器指出系統(tǒng)當(dāng)前的工作量。
/proc/meminfo  
存儲(chǔ)器使用信息,包括物理內(nèi)存和swap。
/proc/modules  
當(dāng)前加載了哪些核心模塊。
/proc/net  
網(wǎng)絡(luò)協(xié)議狀態(tài)信息。
/proc/self  
到查看/proc 的程序的進(jìn)程目錄的符號(hào)連接。當(dāng)2個(gè)進(jìn)程查看/proc 時(shí),是不同的連接。這主要便于程序得到它自己的進(jìn)程目錄。
/proc/stat  
系統(tǒng)的不同狀態(tài),such as the number of page faults since the system was booted.
/proc/uptime  
系統(tǒng)啟動(dòng)的時(shí)間長度。
/proc/version  
核心版本。

注意所有上述文件給出易讀的文本文件,有時(shí)可能是不易讀的格式。有許多命令做了些格式化以更容易讀。例如,free 程序讀/proc/meminfo  并將給出的字節(jié)數(shù)轉(zhuǎn)換為千字節(jié)(并增加了一些信息)。
××××××××××××××××××××××××××××××××
不用重新啟動(dòng)而去看 CMOS ,就可以知道系統(tǒng)信息。這就是 /proc 的妙處之一。
/proc 文件系統(tǒng)是了解系統(tǒng)信息的一個(gè)窗口,本文將就此展開討論,舉例說明/proc 文件系統(tǒng)的內(nèi)部結(jié)構(gòu)。 /proc 文件系統(tǒng)是虛擬的文件系統(tǒng),看似存在的文件實(shí)際并沒有在硬盤上。其實(shí),/proc 是你了解自己系統(tǒng)的一個(gè)窗口,它實(shí)際存在于內(nèi)存。 例如: /proc/cpuinfo 包含了處理器的信息,例如,類型、制造商、型號(hào)等。一個(gè)輸出的例子如下: [albert@www tmp]$ cat /proc/cpuinfo processor: 1 vendor_id: GenuineIntel cpu family: 6 model: 7 model name: Pentium III (Katmai) stepping: 3 cpu MHz: 501.146145 cache size: 512 KB fdiv_bug: no hlt_bug: no sep_bug: no f00f_bug: no coma_bug: no fpu: yes fpu_exception: yes cpuid level: 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx osfxsr kni bogomips : 499.71 /proc/devices 列出內(nèi)核中配置的設(shè)備驅(qū)動(dòng)程序 /proc/interrupts 列出使用中的中斷號(hào),這在硬件沖突的診斷中十分有用。 /proc/kmsg 這些是內(nèi)核輸出的信息,也送到syslog。 /proc/meminfo 列出系統(tǒng)的內(nèi)存情況,包括物理內(nèi)存和交換區(qū)。一個(gè)輸出的例子如下: [albert@www tmp]$ cat /proc/meminfo total: used: free: shared: buffers: cached: Mem: 263806976 206512128 57294848 39387136 92950528 56168448 Swap: 279617536 7405568 272211968 MemTotal: 257624 kB MemFree: 55952 kB MemShared: 38464 kB Buffers: 90772 kB Cached: 54852 kB SwapTotal: 273064 kB SwapFree: 265832 kB /proc/modules 輸出當(dāng)前加載的內(nèi)核模塊。 /proc/net 這個(gè)目錄包含了系統(tǒng)網(wǎng)絡(luò)配置的信息,我將另外撰文講述。 /proc/pci 列出系統(tǒng)的PCI 設(shè)備 可以看出,/proc 文件系統(tǒng)是十分有用的,其實(shí),有些我們平時(shí)使用的命令就來源于 /proc。例如 uname -a 的部分信息來自 /proc/version , uptime 的部分信息來自 /proc/uptime 和 /proc/loadavg , 所以,下次有人問你機(jī)器的主頻是多少時(shí),就沒有必要翻箱倒柜尋找手冊了,一切都在 /proc 文件系統(tǒng)之中。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2003-05-13 15:32 |只看該作者

請誰介紹下/proc,如何編程應(yīng)用?

UP
收藏

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2011-12-13 16:36 |只看該作者
老帖了

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2011-12-13 16:44 |只看該作者
額     挖墳黨   

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2011-12-13 17:55 |只看該作者
本帖最后由 Aquester 于 2011-12-13 17:56 編輯

真能挖,既然出來了,順便分享下,我在這對常用的進(jìn)行了C++包裝,方便使用:
http://code.google.com/p/mooon/s ... ry/src/sys/util.cpp
http://code.google.com/p/mooon/s ... ry/src/sys/info.cpp

論壇徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-03 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-04 06:20:00
7 [報(bào)告]
發(fā)表于 2011-12-13 19:27 |只看該作者
man 5 proc
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP