观察内核linux行为,Linux 学习:基于proc观察Linux行为
內(nèi)容簡(jiǎn)介
本篇博文的主要內(nèi)容是通過(guò)/proc文件,對(duì)Linux系統(tǒng)管理有一個(gè)初步的認(rèn)識(shí)。
在Linux中,proc文件系統(tǒng)提供了一套在用戶態(tài)檢查內(nèi)核狀態(tài)和系統(tǒng)特征的機(jī)制。proc文件系統(tǒng)將進(jìn)程的地址空間、系統(tǒng)的硬件信息、系統(tǒng)相關(guān)機(jī)制(中斷、I/O)等內(nèi)容全部設(shè)置為虛擬的Linux文件,為訪問(wèn)系統(tǒng)內(nèi)核數(shù)據(jù)的操作提供接口。
關(guān)于proc
Linux 內(nèi)核提供了一種通過(guò) /proc 文件系統(tǒng),在運(yùn)行時(shí)訪問(wèn)內(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)的方式為訪問(wèn)系統(tǒng)內(nèi)核數(shù)據(jù)的操作提供接口。
用戶和應(yīng)用程序可以通過(guò)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目錄是可寫(xiě)的,可以通過(guò)它來(lái)訪問(wèn)或修改內(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。
一些實(shí)踐
以root登錄系統(tǒng),退兩層文件夾。發(fā)現(xiàn)并進(jìn)入/proc目錄。鍵入ls命令,查看/proc下的內(nèi)容,同時(shí)查看每個(gè)文件的讀寫(xiě)權(quán)限。
圖1:進(jìn)入proc并查看文件權(quán)限
使用下面的命令獲得CPU信息。
cat cpuinfo | grep name | cut -f2 -d: | uniq -c
圖2:查看CPU類型和型號(hào)
使用下面的命令可以獲得當(dāng)前Linux的版本
cat version
圖3:查看當(dāng)前Linux版本
使用下面的命令獲得從啟動(dòng)到當(dāng)前時(shí)刻所經(jīng)過(guò)的時(shí)間
cat uptime
圖4:從啟動(dòng)到當(dāng)前時(shí)刻所經(jīng)過(guò)的時(shí)間
使用下面的命令獲得當(dāng)前內(nèi)存狀態(tài)
cat buddyinfo
圖5:當(dāng)前內(nèi)存狀態(tài)
總結(jié)
以上是生活随笔為你收集整理的观察内核linux行为,Linux 学习:基于proc观察Linux行为的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux 端口 流量统计,Linux下
- 下一篇: linux 读取大量图片 内存,10 张