一、proc文件系統是什麼? proc是一個偽文件系統,偽文件系統的定義: 它只存在記憶體當中,而不占用外存空間。它以文件系統的方式為訪問系統內核數據的操作提供介面。用戶和應用程式可以通過proc得到系統的信息,並可以改變內核的某些參數。由於系統的信息,如進程,是動態改變的,所以用戶或應用程式讀取pr ...
一、proc文件系統是什麼?
proc是一個偽文件系統,偽文件系統的定義:
它只存在記憶體當中,而不占用外存空間。它以文件系統的方式為訪問系統內核數據的操作提供介面。用戶和應用程式可以通過proc得到系統的信息,並可以改變內核的某些參數。由於系統的信息,如進程,是動態改變的,所以用戶或應用程式讀取proc文件時,proc文件系統是動態從系統內核讀出所需信息並提交的。
我們常常用它來追蹤進程的狀態、內核的狀態、記憶體信息、CPU使用率、系統啟動時間(可以使用系統正常運行時間)等相應的信息;
二、proc文件系統詳解
1、進程pid的相應的內容(以數字命名的內容):
每一個進程都有相應的進程號,而proc/xxx就是相應的進程號:在終端下開啟gedit 不要後臺運行。。
可以看到:
可以看到exe的軟鏈接就是gedit;
/proc/N/cmdline 進程啟動命令
/proc/N/cwd 鏈接到進程當前工作目錄
/proc/N/environ 進程環境變數列表
/proc/N/exe 鏈接到進程的執行命令文件
/proc/N/fd 包含進程相關的所有的文件描述符
/proc/N/maps 與進程相關的記憶體映射信息
/proc/N/mem 指代進程持有的記憶體,不可讀
/proc/N/root 鏈接到進程的根目錄
/proc/N/stat 進程的狀態
/proc/N/statm 進程使用的記憶體的狀態
/proc/N/status 進程狀態信息,比stat/statm更具可讀性
/proc/self 鏈接到當前正在運行的進程
2、在根目錄命名的文件:
/proc/buddyinfo 每個記憶體區中的每個order有多少塊可用,和記憶體碎片問題有關
/proc/cmdline 啟動時傳遞給kernel的參數信息
/proc/cpuinfo cpu的信息
/proc/crypto 內核使用的所有已安裝的加密密碼及細節
/proc/devices 已經載入的設備並分類
/proc/dma 已註冊使用的ISA DMA頻道列表
/proc/execdomains linux內核當前支持的execution domains
/proc/fb 幀緩衝設備列表,包括數量和控制它的驅動
/proc/filesystems 內核當前支持的文件系統類型
/proc/interrupts x86架構中的每個IRQ中斷數
/proc/iomem 每個物理設備當前在系統記憶體中的映射
/proc/ioports 一個設備的輸入輸出所使用的註冊埠範圍
/proc/kcore 代表系統的物理記憶體,存儲為核心文件格式,裡邊顯示的是位元組數,等於RAM大小加上4kb
/proc/kmsg 記錄內核生成的信息,可以通過/sbin/klogd或/bin/dmesg來處理
/proc/loadavg 根據過去一段時間內CPU和IO的狀態得出的負載狀態,與uptime命令有關
/proc/locks 內核鎖住的文件列表
/proc/mdstat 多硬碟,RAID配置信息(md=multiple disks)
/proc/meminfo RAM使用的相關信息
/proc/misc 其他的主要設備(設備號為10)上註冊的驅動
/proc/modules 所有載入到內核的模塊列表
/proc/mounts 系統中使用的所有掛載
/proc/mtrr 系統使用的Memory Type Range Registers (MTRRs)
/proc/partitions 分區中的塊分配信息
/proc/pci 系統中的PCI設備列表
/proc/slabinfo 系統中所有活動的 slab 緩存信息
/proc/stat 所有的CPU活動信息
/proc/sysrq-trigger 使用echo命令來寫這個文件的時候,遠程root用戶可以執行大多數的系統請求關鍵命令,就好像在本地終端執行一樣。要寫入這個文件,需要把/proc/sys/kernel/sysrq不能設置為0。這個文件對root也是不可讀的
/proc/uptime 系統已經運行了多久
/proc/swaps 交換空間的使用情況
/proc/version Linux內核版本和gcc版本
/proc/bus 系統匯流排(Bus)信息,例如pci/usb等
/proc/driver 驅動信息
/proc/fs 文件系統信息
/proc/ide ide設備信息
/proc/irq 中斷請求設備信息
/proc/net 網卡設備信息
/proc/scsi scsi設備信息
/proc/tty tty設備信息
/proc/net/dev 顯示網路適配器及統計信息
/proc/vmstat 虛擬記憶體統計信息
/proc/vmcore 內核panic時的記憶體映像
/proc/diskstats 取得磁碟信息
/proc/schedstat kernel調度器的統計信息
/proc/zoneinfo 顯示記憶體空間的統計信息,對分析虛擬記憶體行為很有用
reference:
http://blog.csdn.net/zdwzzu2006/article/details/7747977