1. /proc目錄
Linux內(nèi)核提供了一種通過 /proc 文件系統(tǒng),在運(yùn)行時(shí)訪問內(nèi)核內(nèi)部數(shù)據(jù)結(jié)構(gòu)眼虱、改變內(nèi)核設(shè)置的機(jī)制雀彼。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)核讀出所需信息并提交的腊满。下面列出的這些文件或子文件夾,并不是都是在你的系統(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)程都有對(duì)應(yīng)的一個(gè)目錄在/proc下,以進(jìn)程的 PID號(hào)為目錄名秸脱,它們是讀取進(jìn)程信息的接口落包。而self目錄則是讀取進(jìn)程本身的信息接口,是一個(gè)link撞反。
2. 子文件或子文件夾
/proc/buddyinfo 每個(gè)內(nèi)存區(qū)中的每個(gè)order有多少塊可用妥色,和內(nèi)存碎片問題有關(guān)
/proc/cmdline 啟動(dòng)時(shí)傳遞給kernel的參數(shù)信息
/proc/cpuinfo cpu的信息
/proc/crypto 內(nèi)核使用的所有已安裝的加密密碼及細(xì)節(jié)
/proc/devices 已經(jīng)加載的設(shè)備并分類
/proc/dma 已注冊(cè)使用的ISA DMA頻道列表
/proc/execdomains Linux內(nèi)核當(dāng)前支持的execution domains
/proc/fb 幀緩沖設(shè)備列表搪花,包括數(shù)量和控制它的驅(qū)動(dòng)
/proc/filesystems 內(nèi)核當(dāng)前支持的文件系統(tǒng)類型
/proc/interrupts x86架構(gòu)中的每個(gè)IRQ中斷數(shù)
/proc/iomem 每個(gè)物理設(shè)備當(dāng)前在系統(tǒng)內(nèi)存中的映射
/proc/ioports 一個(gè)設(shè)備的輸入輸出所使用的注冊(cè)端口范圍
/proc/kcore 代表系統(tǒng)的物理內(nèi)存遏片,存儲(chǔ)為核心文件格式,里邊顯示的是字節(jié)數(shù)撮竿,等于RAM大小加上4kb
/proc/kmsg 記錄內(nèi)核生成的信息吮便,可以通過/sbin/klogd或/bin/dmesg來處理
/proc/loadavg 根據(jù)過去一段時(shí)間內(nèi)CPU和IO的狀態(tài)得出的負(fù)載狀態(tài),與uptime命令有關(guān)
/proc/locks 內(nèi)核鎖住的文件列表
/proc/mdstat 多硬盤幢踏,RAID配置信息(md=multiple disks)
/proc/meminfo RAM使用的相關(guān)信息
/proc/misc 其他的主要設(shè)備(設(shè)備號(hào)為10)上注冊(cè)的驅(qū)動(dòng)
/proc/modules 所有加載到內(nèi)核的模塊列表
/proc/mounts 系統(tǒng)中使用的所有掛載
/proc/mtrr 系統(tǒng)使用的Memory Type Range Registers (MTRRs)
/proc/partitions 分區(qū)中的塊分配信息
/proc/pci 系統(tǒng)中的PCI設(shè)備列表
/proc/slabinfo 系統(tǒng)中所有活動(dòng)的 slab 緩存信息
/proc/stat 所有的CPU活動(dòng)信息
/proc/sysrq-trigger 使用echo命令來寫這個(gè)文件的時(shí)候髓需,遠(yuǎn)程root用戶可以執(zhí)行大多數(shù)的系統(tǒng)請(qǐng)求關(guān)鍵命令,就好像在本地終端執(zhí)行一樣房蝉。要寫入這個(gè)文件僚匆,需要把/proc/sys/kernel/sysrq不能設(shè)置為0微渠。這個(gè)文件對(duì)root也是不可讀的
/proc/uptime 系統(tǒng)已經(jīng)運(yùn)行了多久
/proc/swaps 交換空間的使用情況
/proc/version Linux內(nèi)核版本和gcc版本
/proc/bus 系統(tǒng)總線(Bus)信息,例如pci/usb等
/proc/driver 驅(qū)動(dòng)信息
/proc/fs 文件系統(tǒng)信息
/proc/ide ide設(shè)備信息
/proc/irq 中斷請(qǐng)求設(shè)備信息
/proc/net 網(wǎng)卡設(shè)備信息
/proc/scsi scsi設(shè)備信息
/proc/tty tty設(shè)備信息
/proc/net/dev 顯示網(wǎng)絡(luò)適配器及統(tǒng)計(jì)信息
/proc/vmstat 虛擬內(nèi)存統(tǒng)計(jì)信息
/proc/vmcore 內(nèi)核panic時(shí)的內(nèi)存映像
/proc/diskstats 取得磁盤信息
/proc/schedstat kernel調(diào)度器的統(tǒng)計(jì)信息
/proc/zoneinfo 顯示內(nèi)存空間的統(tǒng)計(jì)信息咧擂,對(duì)分析虛擬內(nèi)存行為很有用
以下是/proc目錄中進(jìn)程N(yùn)的信息
/proc/N pid為N的進(jìn)程信息
/proc/N/cmdline 進(jìn)程啟動(dòng)命令
/proc/N/cwd 鏈接到進(jìn)程當(dāng)前工作目錄
/proc/N/environ 進(jìn)程環(huán)境變量列表
/proc/N/exe 鏈接到進(jìn)程的執(zhí)行命令文件
/proc/N/fd 包含進(jìn)程相關(guān)的所有的文件描述符
/proc/N/maps 與進(jìn)程相關(guān)的內(nèi)存映射信息
/proc/N/mem 指代進(jìn)程持有的內(nèi)存逞盆,不可讀
/proc/N/root 鏈接到進(jìn)程的根目錄
/proc/N/stat 進(jìn)程的狀態(tài)
/proc/N/statm 進(jìn)程使用的內(nèi)存的狀態(tài)
/proc/N/status 進(jìn)程狀態(tài)信息,比stat/statm更具可讀性
/proc/self 鏈接到當(dāng)前正在運(yùn)行的進(jìn)程