六、程序管理詳細記錄
什麼是程序?
“正在執行的程式或命令”就是程序;每一個程序的執行,都會耗費一定的系統資源。有的程序執行的很快,如 “ls”命令程序,會產生一個程序,回車的瞬間命令就已經由開始到結束了。有的程序會持續佔用系統資源,如你的QQ,網頁等。
程序管理的作用:判斷伺服器健康狀態、檢視系統中所有程序、殺死程序
程序的檢視
- ps ##靜態檢視程序資訊
-A ## 顯示所有程序,與-e相同
-a ## 不與terminal會話引線有關的所有程序
-u ## 顯示程序的歸屬使用者及記憶體使用情況
x ## 通常與a一起使用,可列出較完整的資訊
-l ## 長格式顯示
aux ## 檢視所有程序,使用BSD作業系統格式
-le ##檢視所有程序,使用Linux標準命令格式
ps ax -o %cpu,%mem,user,group,comm,nice,pid,stat ## 指定顯示程序的某些資訊
ps ax -o %cpu,comm --sort <+|-%cpu > <+|-%mem> ## 按照程序資訊排序
+ ##正序 - ##倒序
ps命令的輸出
USER:程序是哪個使用者產生
PID:程序的ID號
%CPU:程序佔用CPU資源的百分比,佔用越高,程序越耗費資源
%MEM:程序佔用實體記憶體的百分比,佔用越高,程序越耗費資源
VSZ:程序佔用虛擬記憶體的大小,單位KB
RSS:程序佔用實際實體記憶體的大小,單位KB
TTY:程序在哪個終端執行,tty1-tty6是本地字元介面終端,tty7是本地圖形終端。pts/0-255代表虛擬終端
STAT:程序狀態:R(執行),S(睡眠),T(停止),s(包含子程序),+(位於後臺),Z(僵死),<(優先順序高),N(優先順序高)
START:程序的啟動時間
TIME:該程序佔用CPU的運算時間,注意不是系統時間
COMMAND:產生此程序的命令名
注意
2.TTY列絕大多數是“?”,說明這些程序是由系統核心啟動的(系統程序)
- pstree ## 檢視程序樹
-p ## 顯示程序的PID
-u ## 顯示程序的所屬使用者
- top ## 動態監控程序,檢視程序資訊
s ## 修改程序重新整理間隔時間
m ## 根據記憶體佔有率進行排序
c ## 根據cpu佔有率進行排序
u ## 後面輸入使用者名稱,查詢該使用者發起的所有程序
k ## 後面跟要工作的程序pid,和發起的訊號(eg:9,15,20)
h ## 退出程序檢視介面
q ## 顯示top命令的幫助
top介面上面的5行檢視系統的健康狀況
第一行為任務佇列資訊
系統執行時間:時間越長,表示伺服器執行的時間越長,但並不好,應該定時重啟伺服器,讓狀態歸0,降低故障率
平均負載:通常認為小於1,但並不準確
第二行為程序資訊
第三行為CPU資訊
%id空閒程序一般不低於20%
第四行為實體記憶體資訊
第五行為交換分割槽資訊
緩衝:加速資料寫入;快取:加速資料讀取
程序管理
- 環境中程序的前後臺呼叫
jobs ##檢視被打入環境後臺的程序
ctrl+z ##把佔用終端的程序打入後臺
fg jobsnum ##把後臺程序調回前臺
bg jobsnum ##把後臺暫停的程序執行
comm & ##讓命令直接在後臺執行
- 終止程序
kill -訊號 程序pid ##根據PID終止某個程序
killall -訊號 程序名 ##依據程序名終止多個程序
pkill -u student -訊號 ##終止某使用者產生的程序
pkill -訊號 -t 程序名 ##終止某終端登入的程序
- 程序訊號
常用訊號等級
1 ##程序重新載入配置
2 ##刪除程序在記憶體中的資料
3 ##刪除滑鼠在記憶體中的資料
9 ##強行結束單個程序(不能被阻塞)
15 ##正常關閉程序 (可能會被阻塞)
18 ##執行暫停的程序
19 ##暫停某個程序 (不能被阻塞)
20 ##把程序打入後臺 (可以被阻塞)
man 7 signal ##檢視訊號詳細資訊 - 使用者登入審計
w ##檢視使用系統的當前使用者有那些
w -f ##-f檢視使用地點
last ##檢視使用者登陸成功歷史
lastb ##檢視使用者登陸未成功歷史
程序優先順序
1.程序的優先順序範圍
-20~19
2.優先順序檢視
ps ax -o pid,nice,comm
3.指定某個優先順序開啟程序
nice -n 優先順序數字 程序名稱
nice -n -5 vim & ##開啟vim並且指定程式優先順序為-5
4.改變程序優先順序
reince -n 優先順序數字 程序pid
renice -n -5 1806 ##改變1806程序的優先順序為-5
[email protected] ~]# ps a -o pid,nice,comm
PID NI COMMAND
614 0 Xorg
1128 0 agetty
1625 0 bash
1785 0 vim
1806 -5 vim
1824 -5 vim
1835 0 ps