14.程序管理命令ps和top的使用方法
管理命令ps和top的使用方法
程式:程式是為了完成某種任務而設計的軟體比如Open Office,QQ;
程序:程序是執行種的程式;一個執行著的程式,可能由多個程序;
1.程序的屬性
程序ID(PID):是唯一的數值,用來區分程序;
父程序和父程序的ID(PPID);
啟動程序的使用者ID(UID)和所歸屬的組(GID)
程序狀態:狀態分為執行R,休眠S,殭屍Z;
程序執行的優先順序;
程序所連線的終端名;
程序資源佔用:比如佔用的資源大小(記憶體,CPU佔用量);
2.父程序和子程序
他們的關係是管理和被管理的關係,當父程序終止時,子程序也隨之而終止。但子程序終止,父程序並不一定終止;
比如httpd伺服器執行時,我們可以殺掉其子程序,父程序並不因為子程序的終止而終止;
在程序的管理中,當我們發現佔用資源過多,或無法控制的程序時,應該殺死它,以保護系統穩定安全執行;
對於Linux程序的管理,時通過程序管理工具實現的;比如ps,kill等;
ps top管理程序
ps 提供了程序的一次性的檢視,它所提供的檢視結果並不是動態連續的;如果想要對程序的時間監控應該用top工具;
ps 監視程序工具
靜態 當前狀態
ps的引數說明
ps提供了很多的選項引數,常用的有以下幾個:
l 長格式輸出;
u 按使用者名稱和啟動時間的順序來顯示程序;
f 用樹形格式來顯示程序;
a 顯示所有使用者的所有程序(包括其他使用者)
r 顯示執行中的程序;
-e顯示所有程序,包括沒有控制終端的程序
-x 顯示沒有控制終端的程序
常用選項是組合aux
列出目前所有的正在記憶體當中的程序;
USER:程序屬主
PID:程序的ID
PPID:父程序
%CPU :程序佔用的CPU的百分比;
%MEM:佔用記憶體的百分比
NI:程序的NICE(優先順序)值
VSZ:程序佔用虛擬記憶體的大小
RSS:固定的記憶體使用數量;
TTY:程序啟動的終端ID;
STAT:程序狀態;
R:執行狀態
S:處於休眠狀態;
T:停止或被追蹤;
Z:殭屍程序;
N:優先順序較低的程序;
L:有一些頁面被鎖進記憶體;
s:程序的領導者(在它之下有子程序)
Start:啟動程序的時間
Time:程序消耗CPU的時間;
COMMAND 命令名稱和引數;
ps -aux 是用BSD的格式來顯示程序;
ps -ef 是用標準的格式顯示程序;
top 動態檢視程序
統計資訊區前五行是系統整體的統計資訊;
top 回車
系統的資訊解釋
任務佇列資訊(第一行)
top - 10:50:54 up 1:04, 3 users, load average: 0.02, 0.02, 0.05
10:50:54 :當前時間
up 1:04 :系統執行時間;格式為時:分;
3 users :當前登入使用者數;
load average: 0.02, 0.02, 0.05 系統負載(任務佇列的平均長度,三個值分別為1分鐘,5分鐘,15分鐘前到現在的平均值。對於一個4核心CPU,如果負載為12時,佇列太長,需要加CPU,3*核數)
程序和CPU的資訊(第二行和第三行)
當有多個cpu的時候,這些內容可能超過兩行;
Tasks: 253 total, 1 running, 252 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
Tasks: 253 total:程序總數
1 running :正在執行的程序數;
252 sleeping:正在休眠的程序數;
0 stopped: 已經停止的程序數;
0 zombie :殭屍程序數;
%Cpu(s): 0.3 us :系統使用者程序使用CPU百分比
0.3 sy :核心中的程序佔用的CPU百分比
0.0 ni :使用者程序空間改變過優先順序的程序佔用的CPU百分比
99.3 id:空閒CPU百分比
第四行和第五行(記憶體資訊)
KiB Mem : 2032156 total, 795204 free, 633080 used, 603872 buff/cache
KiB Swap: 1023996 total, 1023996 free, 0 used. 1158176 avail Mem
Mem : 2032156 total 實體記憶體總量;
795204 free 空閒記憶體總量;
633080 used 使用的實體記憶體總量;
603872 buff/cache 用作核心快取的記憶體量 和free -k 一個意思;
Swap: 1023996 total 交換區總量
1023996 free 空閒交換區總量
0 used 使用的交換區總量
1158176 avail Mem 總的可利用記憶體時多少;
程序資訊
PID 程序ID
USER 程序所屬者使用者名稱
NI: 程序優先順序,nice值,負值表示高優先順序,正值表示低優先順序;
RES 實際使用記憶體大小;
S 程序狀態 D=不可中斷的睡眠狀態;
R=執行
S=睡眠
T=跟蹤/停止
Z=殭屍程序
%CPU 上次更新到現在的CPU時間佔用百分比
%MEM 程序使用的實體記憶體百分比;
top的快捷鍵
預設3s重新整理一次
空格:立即重新整理
q 退出
M 按記憶體排序(大寫M))
P 按CPU排序(大寫P)