天天看點

/proc檔案系統 - 彙總

0. /proc目錄簡介

Linux 核心提供了一種通過 /proc 檔案系統,在運作時通路核心内部資料結構、改變核心設定的機制。

proc檔案系統是一個僞檔案系統,它隻存在記憶體當中,而不占用外存空間。它以檔案系統的方式為通路系統核心資料的操作提供接口。

使用者和應用程式可以通過proc得到系統的資訊,并可以改變核心的某些參數。

由于系統的資訊,如程序,是動态改變的,是以使用者或應用程式讀取proc檔案時,proc檔案系統是動态從系統核心讀出所需資訊并送出的。

1. /proc檔案系統

下面列出的這些檔案或子檔案夾,并不是都是在你的系統中存在,這取決于你的核心配置和裝載的子產品。

另外,在/proc下還有三個很重要的目錄:net,scsi和sys。 Sys目錄是可寫的,可以通過它來通路或修改核心的參數,而net和scsi則依賴于核心配置。例如,如果系統不支援scsi,則scsi 目錄不存在。

除了以上介紹的這些,還有的是一些以數字命名的目錄,它們是程序目錄。系統中目前運作的每一個程序都有對應的一個目錄在/proc下,以程序的 PID号為目錄名,它們是讀取程序資訊的接口。而self目錄則是讀取程序本身的資訊接口,是一個link。

1.1 /proc/uptime

uptime主要用于顯示系統的整體開機時間。

root@jimmy-vm:/proc# cat uptime
33022.40 63635.93
           
  • 第一列:系統已運作時間(機關:秒)
  • 第二列:系統空閑的時間(機關:秒),是多個核心CPU空閑時間的總和

    系統運作時間換算為啟動時間點:

    date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"

root@jimmy-vm:/proc# date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"
2018-12-15 06:45:09
           

同樣可以使用

uptime

檢視系統啟動時間

root@jimmy-vm:/proc# uptime
 16:02:41 up  9:17,  6 users,  load average: 0.00, 0.00, 0.00
           
  1. 目前時間 16:02:41
  2. 系統已運作的時間 9:17
  3. 目前線上使用者 6 user
  4. 平均負載:0.00, 0.00, 0.00,最近1分鐘、5分鐘、15分鐘系統的負載

繼續閱讀