PROC系列

原文地址:

http://blog.csdn.net/zjl_1026_2001


PROC系列之---/proc/stat/

包含了所有CPU活動的信息,該文件中的所有值都是從系統啓動開始累計到當前時刻。

[work@builder ~]$ cat /proc/stat
cpu 432661 13295 86656 422145968 171474 233 5346
cpu0 123075 2462 23494 105543694 16586 0 4615
cpu1 111917 4124 23858 105503820 69697 123 371
cpu2 103164 3554 21530 105521167 64032 106 334
cpu3 94504 3153 17772 105577285 21158 4 24
intr 1065711094 1057275779 92 0 6 6 0 4 0 3527 0 0 0 70 0 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7376958 0 0 0 0 0 0 0 1054602 0 0 0 0 0 0 0 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ctxt 19067887
btime 1139187531
processes 270014
procs_running 1
procs_blocked 0


輸出解釋
CPU 以及CPU0、CPU1、CPU2、CPU3每行的每個參數意思(以第一行爲例)爲:
參數 解釋
user (432661) 從系統啓動開始累計到當前時刻,用戶態的CPU時間(單位:jiffies) ,不包含 nice值爲負進程。1jiffies=0.01秒
nice (13295) 從系統啓動開始累計到當前時刻,nice值爲負的進程所佔用的CPU時間(單位:jiffies) 
system (86656) 從系統啓動開始累計到當前時刻,核心時間(單位:jiffies) 
idle (422145968) 從系統啓動開始累計到當前時刻,除硬盤IO等待時間以外其它等待時間(單位:jiffies) 
iowait (171474) 從系統啓動開始累計到當前時刻,硬盤IO等待時間(單位:jiffies) ,
irq (233) 從系統啓動開始累計到當前時刻,硬中斷時間(單位:jiffies) 
softirq (5346) 從系統啓動開始累計到當前時刻,軟中斷時間(單位:jiffies) 

CPU時間=user+system+nice+idle+iowait+irq+softirq

“intr”這行給出中斷的信息,第一個爲自系統啓動以來,發生的所有的中斷的次數;然後每個數對應一個特定的中斷自系統啓動以來所發生的次數。
“ctxt”給出了自系統啓動以來CPU發生的上下文交換的次數。
“btime”給出了從系統啓動到現在爲止的時間,單位爲秒。
“processes (total_forks) 自系統啓動以來所創建的任務的個數目。
“procs_running”:當前運行隊列的任務的數目。
“procs_blocked”:當前被阻塞的任務的數目。 



PROC系列之---/proc/pid/stat

 /proc/ /stat
包含了所有CPU活躍的信息,該文件中的所有值都是從系統啓動開始累計到當前時刻。

[root@localhost ~]# cat /proc/6873/stat
6873 (a.out) R 6723 6873 6723 34819 6873 8388608 77 0 0 0 41958 31 0 0 25 0 3 0 5882654 1409024 56 4294967295 134512640 134513720 3215579040 0 2097798 0 0 0 0 0 0 0 17 0 0 0 [root@localhost ~]#


每個參數意思爲:
參數 解釋
pid=6873 進程(包括輕量級進程,即線程)號
comm=a.out 應用程序或命令的名字
task_state=R 任務的狀態,R:runnign, S:sleeping (TASK_INTERRUPTIBLE), D:disk sleep (TASK_UNINTERRUPTIBLE), T: stopped, T:tracing stop,Z:zombie, X:dead
ppid=6723 父進程ID
pgid=6873 線程組號
sid=6723 c該任務所在的會話組ID
tty_nr=34819(pts/3) 該任務的tty終端的設備號,INT(34817/256)=主設備號,(34817-主設備號)=次設備號
tty_pgrp=6873 終端的進程組號,當前運行在該任務所在終端的前臺任務(包括shell 應用程序)的PID。
task->flags=8388608 進程標誌位,查看該任務的特性
min_flt=77 該任務不需要從硬盤拷數據而發生的缺頁(次缺頁)的次數
cmin_flt=0 累計的該任務的所有的waited-for進程曾經發生的次缺頁的次數目
maj_flt=0 該任務需要從硬盤拷數據而發生的缺頁(主缺頁)的次數
cmaj_flt=0 累計的該任務的所有的waited-for進程曾經發生的主缺頁的次數目
utime=1587 該任務在用戶態運行的時間,單位爲jiffies
stime=1 該任務在覈心態運行的時間,單位爲jiffies
cutime=0 累計的該任務的所有的waited-for進程曾經在用戶態運行的時間,單位爲jiffies
cstime=0 累計的該任務的所有的waited-for進程曾經在覈心態運行的時間,單位爲jiffies
priority=25 任務的動態優先級
nice=0 任務的靜態優先級
num_threads=3 該任務所在的線程組裏線程的個數
it_real_value=0 由於計時間隔導致的下一個 SIGALRM 發送進程的時延,以 jiffy 爲單位.
start_time=5882654 該任務啓動的時間,單位爲jiffies
vsize=1409024(page) 該任務的虛擬地址空間大小
rss=56(page) 該任務當前駐留物理地址空間的大小
Number of pages the process has in real memory,minu 3 for administrative purpose.
這些頁可能用於代碼,數據和棧。
rlim=4294967295(bytes) 該任務能駐留物理地址空間的最大值
start_code=134512640 該任務在虛擬地址空間的代碼段的起始地址
end_code=134513720 該任務在虛擬地址空間的代碼段的結束地址
start_stack=3215579040 該任務在虛擬地址空間的棧的結束地址
kstkesp=0 esp(32 位堆棧指針) 的當前值, 與在進程的內核堆棧頁得到的一致.
kstkeip=2097798 指向將要執行的指令的指針, EIP(32 位指令指針)的當前值.
pendingsig=0 待處理信號的位圖,記錄發送給進程的普通信號
block_sig=0 阻塞信號的位圖
sigign=0 忽略的信號的位圖
sigcatch=082985 被俘獲的信號的位圖
wchan=0 如果該進程是睡眠狀態,該值給出調度的調用點
nswap 被swapped的頁數,當前沒用
cnswap 所有子進程被swapped的頁數的和,當前沒用
exit_signal=17 該進程結束時,向父進程所發送的信號
task_cpu(task)=0 運行在哪個CPU上
task_rt_priority=0 實時進程的相對優先級別
task_policy=0 進程的調度策略,0=非實時進程,1=FIFO實時進程;2=RR實時進程 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章