proc文件系統探索 之 根目錄下的文件[五]

2.1根目錄下的文件
2.1.1lock文件
內核鎖,記錄與被打開的文件有關的鎖信息。
該文件顯示當前被內核鎖定的文件。該文件包含的內容是內核調試數據,根據使用的系統的這些數據會變化很大。一個/proc/locks文件會和下面的相似:

niutao@niutao-desktop:/proc$ cat locks
1: POSIX  ADVISORY  READ 12944 08:0f::48897 1073741826 1073742335
2: POSIX  ADVISORY  WRITE 12944 08:0f::48881 1073741824 1073742335
3: POSIX  ADVISORY  WRITE 12944 08:0f::48876 0 EOF
4: POSIX  ADVISORY  WRITE 5938 08:0d:1085298 0 EOF
5: FLOCK ADVISORY  WRITE 5817 00:11:15003 0 EOF
6: POSIX  ADVISORY  WRITE 5804 00:11:14995 0 EOF
7: POSIX  ADVISORY  READ 5489 08:0d:179581 4 4
8: POSIX  ADVISORY  READ 5539 08:0d:179581 4 4
9: POSIX  ADVISORY  READ 5489 00:11:13966 4 4
10: POSIX  ADVISORY  WRITE 5489 00:11:13965 0 0
11: POSIX  ADVISORY  WRITE 5208 08:0d:296757 0 EOF
12: POSIX  ADVISORY  WRITE 5208 08:0d:296756 0 EOF
13: POSIX  ADVISORY  WRITE 5208 08:0d:296755 0 EOF

每個鎖都處於以一個唯一的數字開頭的一行裏。第二列表示使用該鎖的對象,FLOCKS表示從一個flocksystem調用打開的早期風格的UNIX文件鎖,POSIX表示從一個lockfsystem調用打開的新的POSIX鎖。
第 三列有兩個可取的值:ADVISORY或者MANDATORY。ADVISORY表示該鎖不阻止其他進程訪問被鎖定的數據,它只是阻止企圖鎖定它的其他進 程。MANDATORY表示當鎖被鎖定的時候不允許訪問被許可的數據。第四列表示該鎖是否允許鎖的持有者讀或寫被鎖定的文件。第五列顯示了持有該鎖的進程 的id。第六列顯示了被鎖定的文件的id,格式是:
主設備號:次設備號:inode節點號
第七列和第八列分別表示文件鎖鎖定的區域的開始和結束。
2.1.2misc文件
雜項設備信息。

niutao@niutao-desktop:/proc$ cat misc
63 vboxdrv
229 fuse
1 psaux
228 hpet
135 rtc
231 snapshot

該文件列出了系統在雜項主設備號(主設備號爲10)上註冊的設備。第一列表示該設備的次設備號,第二列顯示的是該設備的名稱。
2.1.3moubles文件
系統正在使用的模塊信息。
該文件顯示的是加載進內核的所有模塊。其內容根據不同的配置和你使用的系統的不同而不同,但基本和所示的/proc/modules文件一樣:

binfmt_misc 12808 1 - Live 0xf8d0e000
rfcomm 41744 2 - Live 0xf8d2d000
l2cap 25728 13 rfcomm, Live 0xf8cbe000
bluetooth 61156 4 rfcomm,l2cap, Live 0xf8d1d000
vboxdrv 61360 0 - Live 0xf8cae000
nfsd 228848 13 - Live 0xf8d44000
lockd 67720 2 nfsd, Live 0xf8cf7000
nfs_acl 4608 1 nfsd, Live 0xf8c95000
auth_rpcgss 43424 1 nfsd, Live 0xf8ca2000

第 一列包含該模塊的名字,第二列表示該模塊的內存大小,單位爲字節。第三列列出了該模塊當前有多少被加載的實例,如果爲 0則表示該模塊可以卸載。第四列列出了當前該模塊需要哪些其他模塊。第五列表示模塊的加載狀態:Live表示加載,其他值表示沒有加載。第六列表示已經加 載的模塊在內存中的偏移。這列信息對於調試是非常有用的。
2.1.4mtrr文件
該文件指的是當前系統使用的內存類型範圍寄存器(MTRRs)。如果當前的系統架構支持MTRRs,那麼/proc/mtrr文件就會如下所示:

niutao@niutao-desktop:/proc$ cat mtrr
reg00: base=0x00000000 ( 0MB), size=1024MB: write-back, count=1
reg01: base=0x3ff00000 (1023MB), size= 1MB: uncachable, count=1

MTRRs 被用在英特爾六位系列處理器(奔騰II和更高的)和控制處理器,內存訪問範圍。當在PCI或AGP總線上使用視頻卡時,一個配置正確的/proc/ mtrr文件可以提高超過150%的性能 。大多數時候,這個值是正確設定的預設值。關於手動配置該文件的更多信息可以在內核文檔中找到(/Documentation/mtrr.txt)
2.1.5pagetypeinfo文件
2.1.6partitions文件
該文件包含硬盤分區信息。該文件的內容如下:

niutao@niutao-desktop:/proc$ cat partitions
major minor  #blocks  name
8     0  312571224 sda
8     1   15727603 sda1
8     2          1 sda2
8     5   20972826 sda5
8     6   20972826 sda6
8     7   31455238 sda7
8     8   20972826 sda8
8     9   20972826 sda9
8    10   83883366 sda10
8    11   31455238 sda11
8    12   10482381 sda12
8    13   20972826 sda13
8    14    2096451 sda14
8    15   12586896 sda15

第一列表示主設備號,我們看到上面所示的全部是8,所以我們可以知道該系統使用的是一個SCSI硬盤(詳見/Documentation/devices.txt)。第二列表示次設備號,第三列表示分區所佔的物理塊的個數,第四列表示分區的名字。


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