Linux 程序管理基礎
阿新 • • 發佈:2021-06-29
基本概念
程序的優先順序
0-139 共140個程序,數字越小,優先順序越高
核心控制:0-99 動態優先順序
使用者控制:100-139 靜態優先順序
nice值
-20-19 對應 100-139
-20 對應 100
19 對應 139
nice值越小,優先順序越高。通過nice可以調整程序的優先順序
'' root可以隨便調整nice值,普通使用者僅僅可以調大nice值 ''
PID (process ID) 程序ID
- init : pid 1
程序的狀態
stopped: 停止 ready: 可以執行但是尚未開始 running: 執行 interrupt: 可中斷睡眠 ununterrupt: 不可終端睡眠 zombie: 殭屍程序
根據啟動方式分類
終端相關程序
終端無關程序
程序相關命令
1.pstree
以樹狀顯示程序的父子狀態
- 不過沒有安裝手動安裝,軟體名為 psmisc
2.ps
process state
作用:
顯示系統中的程序的詳細資訊,一般和 grep 配合使用
選項:
- unix型別: -字母
- BSE型別: 字母
- GNU型別: --單詞
/proc下那些以數字為名稱的目錄就是程序的資訊對映
組合1: ps aux
a:顯示先行終端下所有的程序資訊 u:顯示程序是那個使用者發起的 x:顯示終端無關的程序資訊 USER:程序的屬主 %CPU %MEM:佔用記憶體和空間CPU時間的百分比 VSE:每個程序的虛擬記憶體集大小 RSS:每個程序的常駐記憶體集大小 TTY:終端編號 ?表示終端無關程序 SATA:程序的狀態 具體引數看 man START:程序的啟動日期 TIME:程序在CPU上的累計執行時間 COMMAND:執行那個命令發起的這個程序 []: 表示該程序由核心發起的程序
組合2: ps -elf
-e: 顯示所有的程序,包括終端相關和無關,效果等於 ps au -l: 以長格式顯示詳細資訊 -f:顯示程序的完整資訊 F:表示程序的標誌位 1:表示fork之後為執行的程序 4:超級使用者程序 S:表示程序的狀態 UID:程序的屬主 PID:程序的ID號 PPID:程序的父程序的PID C:CPU的使用率,證書顯示 PRI:程序的優先順序 NI:程序的NICE值 ADDR:執行中的程序在記憶體中的編號 SZ:程序用掉swap的大小 WCHAN:程序是否處於執行狀態, - 表示正在執行 STIME TTY TIME:實際佔用CPU的時間 CMD:哪一個命令發起的程序
組合3: ps -eFH
-F:顯示比f更詳細的資訊
-H:以層級的方式顯示
組合4:顯示指定使用者程序
-u:username 顯示指定使用者發起的京城
ps -u zx
組合5:顯示發起指定程序的命令
-C 程序名
顯示httpd程序的pid
ps -C httpd
3.pgrep和kill
pgrep:查詢符合某個規則的程序(預設僅顯示程序的ID)
kill:結束符合某個規則的進行
選項:
-U uid|userName:指定執行程序的真實使用者(切換使用者之前的使用者)
-u uid|userName:指定執行程序的有效使用者(當前執行程序的使用者)
-t term:過濾指定終端相關的程序
例子:過濾處程序資訊中包含bash的程序id
# pgrep bash
例子:過濾處以tom身份執行的程序,要求顯示程序id和程序名稱
# pgrep -u tom -l
例子:過濾出tom發起的程序
# pgrep -U tom
例子:過濾以tom身份執行,並且和bash相關的程序
# pgrep -u tom bash
4.pidof
顯示指定程序的PID (顯示的是靜態資訊)
5.top
以動態方式,實時顯示系統的程序,cpu,記憶體等資訊,預設每隔 5s 重新整理一次
具體的引數含義看英文,很多也很重要
6.htop
top的升級版本,預設沒有,需要自己下載。
7.vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b 交換 空閒 緩衝 快取 si so bi bo in cs us sy id wa st
1 0 0 2728296 24564 2119932 0 0 32 43 49 82 0 0 99 0 0
procs:當前系統的佇列資訊
r:正在執行和等待執行的CPU的程序的數量
b:表示阻塞的佇列長度(其實就是等待IO完成的程序的個數,也就是處於不可中斷的程序的個數)
memory:表示的是記憶體相關的資訊
swap:表示就是從實體記憶體移動到swap中的資料量
free:空閒實體記憶體大小
buff:快取空間資料量(向磁碟進行寫操作的內容)
cache:快取空間資料量(從磁碟進行讀操作的內容)
swap:使用swap的速率資訊
si:資料進入互動分割槽的速率,kb/s
so:資料進入互動分割槽的速率,kb/s
io:顯示磁碟IO的速率資訊
bi:從記憶體向磁碟塊寫入資料的速率,kb/s
bo:記憶體從磁碟中讀取資料的速率,kb/s
system:
in:系統每秒產生的中斷數
cs(content switch):系統每秒進行多少次程序切換
8.dstat
dstat是vmstat的升級版