星期一, 12月 15, 2008

[Linux] 如何監控process的CPU使用率

http://www.javaworld.com.tw/jute/post/view?bid=5&id=123936&tpg=1&ppg=1&sty=1&age=0#123936

目前我找到的有
ps u -p PID
ps aux | grep PID
top -b -pPID
這是可以觀看單一個process的CPU使用率

如果是要看電腦主機 系統本身的,就是
top -b
cat /proc/stat
vmstat 1 10 //每隔一秒顯示一行,但只會持續十秒
sar -u 1 5 //統計目前主機 CPU 狀態,每秒一次,共計五次
sar -r 1 5 //統計目前主機 MEM 狀態,每秒一次,共計五次

/proc/stat欄位說明:
user: normal processes executing in user mode
nice: niced processes executing in user mode
system: processes executing in kernel mode
idle: twiddling thumbs
iowait: waiting for I/O to complete
irq: servicing interrupts
softirq: servicing softirqs

The "intr" line gives counts of interrupts serviced since boot time, for each of the possible system interrupts. The first column is the total of all interrupts serviced; each subsequent column is the total for that particular interrupt.

The "ctxt" line gives the total number of context switches across all CPUs.

The "btime" line gives the time at which the system booted, in seconds since the Unix epoch.

The "processes" line gives the number of processes and threads created, which includes (but is not limited to) those created by calls to the fork() and clone() system calls.

The "procs_running" line gives the number of processes currently running on CPUs.

The "procs_blocked" line gives the number of processes currently blocked, waiting for I/O to complete.

copied from the kernel documentation of the /proc filesystem


vmstat欄位說明:
r 等著存取處理器的可執行程序之數量
b 處於不可執行睡眠狀態下的程序數目

與記憶體相關的欄位
swpd 已使用的虛擬記憶體大小
free 未使用的記憶體大小
buff 用來當作緩衝區的記憶體大小
cache 用來當作分頁快取的記憶體大小

與 swap 有關的欄位
si 從磁碟讀入,置換到記憶體的資料大小
so 從記憶體置換到磁碟的資料大小

與 I/O 有關的欄位
bi 送到區塊(block)裝置的區塊數目
bo 從區塊裝置讀入的區塊數目

與系統相關的欄位
in 每秒的中斷數目
cs 每秒的環境切換(context switch)數目

與 CPU 相關的欄位
us CPU 處理使用者等級程式碼的時間,以百分比表示
sy CPU 處理系統等級程式碼的時間,以百分比表示
id CPU 的閒置時間,以百分比表示
wa I/O 等待

星期一, 12月 01, 2008

[Linux] message的error code 定義

有使用linux的人都知道有error,可以去看
/var/log/message這個檔案,查看error message
但會發現最後面有一個error code,卻搞不懂什麼意思
可以去/usr/include/asm-generic/errno-base.h
這個檔案看linux error code的定義,很方便吧~~~~^^