- 相關(guān)推薦
關(guān)于linux查看進程ps top區(qū)別
linux是很多計算機學(xué)習(xí)者喜歡的,下面小編為大家整理了關(guān)于linux查看進程ps top區(qū)別的文章,希望能為你提供幫助:
一:ps命令
以下是 ps 的最簡單形式:
$ ps
PID TTY TIME CMD
3884 pts/1 00:00:00 bash
3955 pts/2 00:00:00 more
3956 pts/5 00:00:05 sqlplus
• PID 是進程的標(biāo)識號。
• TTY 是進程所屬的終端控制臺。
• TIME 列是進程所使用的總的 CPU 時間。
• CMD 列列出正在執(zhí)行的命令行。
使用帶有 -ef 選項的 ps,返回系統(tǒng)中所有用戶的所有進程的完整列表。一般將此 ps 命令的結(jié)果傳送到 grep 中,則該結(jié)果更易于查看。例如:
$ ps -ef | grep oracle
UID PID PPID C STIME TTY TIME CMD
oracle 1633 1 0 13:58 ?00:00:00 ora_pmon_ora1
oracle 1635 1 0 13:58 ?00:00:00 ora_dbw0_ora1
oracle 1637 1 0 13:58 ?00:00:01 ora_lgwr_ora1
oracle 1639 1 0 13:58 ?00:00:02 ora_ckpt_ora1
oracle 1641 1 0 13:58 ?00:00:02 ora_smon_ora1
oracle 1643 1 0 13:58 ?00:00:00 ora_reco_ora1
oracle 1645 1 0 13:58 ?00:00:00 ora_cjq0_ora1
oracle 1647 1 0 13:58 ?00:01:18 ora_qmn0_ora1
oracle 1649 1 0 13:58 ?00:00:00 ora_s000_ora1
oracle 1651 1 0 13:58 ?00:00:00 ora_d000_ora1
-e : 在命令執(zhí)行后顯示環(huán)境
-f : 完整顯示輸出
• 標(biāo)為 C 的列是由 CPU 用于計算執(zhí)行優(yōu)先級的因子。
• STIME 是指進程的啟動時間。
• 問號表示這些進程不屬于任何 TTY,因為它們是由系統(tǒng)啟動的。
主要參數(shù)說明:
1) 進程用戶ID(UID),
雖然 uid 通常是指數(shù)字型的標(biāo)識,但在第一列下指定的是用戶名,標(biāo)記為 UID
2) 進程ID (PID)
3) 父進程ID (PPID)
PPID 是父進程的標(biāo)識號。對于 Oracle 進程,這里的標(biāo)識號為 1 — 它是 init 進程(所有進程的父進程)的 id,因為在本系統(tǒng)中安裝的 Oracle 是作為登錄進程的一部分而啟動的
4) CPU 調(diào)度情況 (C)
即是是由 CPU 用于計算執(zhí)行優(yōu)先級的因子。
5) 進程啟動的時間 (STIME)
6) 進程共占用CPU的時間(TIME)
7) 啟動進程的命令 (CMD)
8)問號表示這些進程不屬于任何 TTY,因為它們是由系統(tǒng)啟動的。
使用PS命令分析系統(tǒng)性能的方法主要有:
1) 首先,根據(jù)用戶ID尋找由同一用戶執(zhí)行的許多相似任務(wù),這些任務(wù)很可能是因為用戶運行的某個腳本程序在后臺啟動多個進程而造成的。
2) 接下來,檢查TIME域中各進程累計占用CPU的時間,如果有某個進程累計占用了大量的CPU時間,通常說明該進程可能陷入了無限循環(huán),或該京城的某寫邏輯出了錯
3) 找到那些已陷入死鎖的進程ID后,就可以使用kill命令強制終止該進程了。
二:top命令
Ps 只為您提供當(dāng)前進程的快照。要即時查看最活躍的進程,可使用 top。
Top 實時地提供進程信息。它還擁有交互式的狀態(tài),允許用戶輸入命令,如 n 后面跟有 5 或 10 等數(shù)字。其結(jié)果是指示 top 顯示 5 或 10 個最活躍的進程。Top 持續(xù)運行,直到您按 "q" 退出 top 為止。
Top中的幾個隱含參數(shù):
top中按1鍵和F鍵的參數(shù):
按1鍵可以等到多個cpu的情況
按F(f:當(dāng)前狀態(tài),可以按相應(yīng)的字母鍵做top的定制輸出)后得參數(shù):
對F鍵和f鍵的區(qū)別:
如果進入F鍵區(qū)可以做進程顯示的排序,如果進入f鍵區(qū)的話則可以選擇顯示的多個項目:
* A: PID = Process Id //進程ID
b: PPID = Parent Process Pid //父進程ID
c: RUSER = Real user name //真正的(Real)所屬用戶名稱
d: UID = User Id //用戶ID
e: USER = User Name //用戶名稱
f: GROUP = Group Name //組名稱
g: TTY = Controlling Tty //控制
h: PR = Priority //優(yōu)先權(quán)
i: NI = Nice value //優(yōu)先級得值(負數(shù)代表較高的優(yōu)先級,正數(shù)是較低的優(yōu)先級.0標(biāo)志改優(yōu)先級的值是不會被調(diào)整的)
j: #C = Last used cpu (SMP) //隨后使用的cpu比率
k: %CPU = CPU usage //cpu使用比率
l: TIME = CPU Time //cpu占用時間
m: TIME+ = CPU Time, hundredths //cpu%比
n: %MEM = Memory usage (RES) //內(nèi)存使用率
o: VIRT = Virtual Image (kb) //虛擬鏡像(VIRT = SWAP + RES:所有進程使用的虛擬內(nèi)存值,包括所有的代碼,數(shù)據(jù),共享庫已經(jīng)被swapped out的)
p: SWAP = Swapped size (kb) //交換空間大小(所有虛擬內(nèi)存中的鏡像)
q: RES = Resident size (kb) //已經(jīng)使用了的常駐內(nèi)存(Resident size):RES = CODE + DATA
r: CODE = Code size (kb) //分配給執(zhí)行代碼的物理內(nèi)存
s: DATA = Data+Stack size (kb) //data+stack:物理內(nèi)存中非存放代碼的空間,用于存放數(shù)據(jù)
t: SHR = Shared Mem size (kb) //共享內(nèi)存大小.放映了一個task的潛在可以供別人使用的內(nèi)存的大小
u: nFLT = Page Fault count //內(nèi)存葉錯誤的數(shù)量
v: nDRT = Dirty Pages count //臟頁的數(shù)量
w: S = Process Status //進程狀態(tài):( R )為運行或可執(zhí)行的,( S )為該程序正在睡眠中,( T )正在偵測或者是停止了,( Z )僵尸程序
x: COMMAND = Command name/line //進程啟動命令行參數(shù)
y: WCHAN = Sleeping in Function //在睡眠中
z: Flags = Task Flags //任務(wù)標(biāo)志
Note1:
If a selected sort field can't be shown due to screen width or your field order, the '<' and '>' keys
will be unavailable until a field within viewable range is chosen.
Note2:
Field sorting uses internal values, not those in column display. Thus, the TTY & WCHAN fields will violate strict ASCII collating sequence. (shame on you if WCHAN is chosen)
Current Fields: AEHIOQTWKNMbcdfgjplrsuvyzX for window 1:Def
Toggle fields via field letter, type any other key to return
* A: PID = Process Id
* E: USER = User Name
* H: PR = Priority
* I: NI = Nice value
* O: VIRT = Virtual Image (kb)
* Q: RES = Resident size (kb)
* T: SHR = Shared Mem size (kb)
* W: S = Process Status
* K: %CPU = CPU usage
* N: %MEM = Memory usage (RES)
* M: TIME+ = CPU Time, hundredths
b: PPID = Parent Process Pid
c: RUSER = Real user name
d: UID = User Id
f: GROUP = Group Name
g: TTY = Controlling Tty
j: #C = Last used cpu (SMP)
p: SWAP = Swapped size (kb)
l: TIME = CPU Time
r: CODE = Code size (kb)
s: DATA = Data+Stack size (kb)
u: nFLT = Page Fault count
v: nDRT = Dirty Pages count
y: WCHAN = Sleeping in Function
z: Flags = Task Flags
* X: COMMAND = Command name/line
Flags field:
0x00000001 PF_ALIGNWARN
0x00000002 PF_STARTING
0x00000004 PF_EXITING
0x00000040 PF_FORKNOEXEC
0x00000100 PF_SUPERPRIV
0x00000200 PF_DUMPCORE
0x00000400 PF_SIGNALED
0x00000800 PF_MEMALLOC
0x00002000 PF_FREE_PAGES (2.5)
0x00008000 debug flag (2.5)
0x00024000 special threads (2.5)
0x001D0000 special states (2.5)
0x00100000 PF_USEDFPU (thru 2.4)
【linux查看進程ps top區(qū)別】相關(guān)文章:
Linux下top命令詳解06-23
多進程OSPF及進程號的意義03-30
PS教程06-26
ps怎么去水印-ps去水印教程06-17
Linux認證系統(tǒng)管理:linux下搭建ftp03-08
Linux認證考試科目06-03
Linux文件權(quán)限詳解05-11
Linux基本指令大全11-23