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
- 目前時間 16:02:41
- 系統已運作的時間 9:17
- 目前線上使用者 6 user
- 平均負載:0.00, 0.00, 0.00,最近1分鐘、5分鐘、15分鐘系統的負載