在Windows中,系統進程,資源管理都是通過可視化操作實現的,如下為Windows經典的可視化系統資源管理,其中,作為開發人員或服務器運維人員,
查看系統系統,系統進程,系統性能和系統服務器是三個重要的參考因素。
然而,在linux系統中,如何實現這些操作呢?本篇文章將從操作的角度,簡要分析liunx如何實現Linux系統的監管。
一 查看系統進程
在linux中,查看系統進程的命令為ps,常用格式為如下兩個:
(1)ps aux:unix格式查看系統進程
(2)ps -le:linux格式查看系統進程
一般地,ps aux更常用,下面主要講解ps aux命令
(一)查看系統所有進程
ps aux,使用BSD(UNIX)系統格式查看系統所有進程
(二)參數注解
USER --進程使用用戶
PID --進程ID
%CPU -- 進程占用的CPU
%MEM --進程占用內存
VSZ --進程占用虛擬內存,單位為KB
RSS --進程占用物理內存,單位為KB
TTY --該進程所運行終端
(1)tty1-tty7:本地控制台終端(tty1-tty6:本地字符界面終端;tty7:圖形終端)
(2)pts/0-255:虛擬終端,即遠程終端
(3)?:由linux內核直接調用,不由終端調用
STAT -- 進程狀態
(1)R--運行狀態
(2)S--休眠
(3)T--停止
(4)s--包含子進程
(5)+ --后台進程
START --進程啟動時間
TIME --占用CPU運算時間
COMMAND -- 產生進程的命令
二 查看系統運行狀態
在linux中,用top命令來查看系統運行性能及狀態。
參數解釋:
(一)第一行:top
該行表示系統性能相關
需要注意的是,系統負載參數中,對於單核CPU,當負載>時,表示系統壓力比較大,如果是n核CPU,當負載>n時,表示
系統壓力比較大。
(二)第二行:Tasks
該行表示線程相關
參數解釋:
tatal:線程總數
running:正在運行的線程
sleeping:正在休眠進程
stopped:已經停止進程
zombie:僵死進程(正在終止,但未終止的進程
(三)第三行:%CPU
該行表示CPU相關
參數解釋:
us:用戶模式占用cpu百分比
sy:系統模式占用cpu百分比
ni:改變過優先級的用戶進程占用的cpu百分比
id:空閑cpu百分比
wa:等待輸入輸出進程占用cpu百分比
hi:硬終端請求服務占用cpu百分比
si:軟中斷請求服務占用cpu百分比
st:虛擬時間百分比,即若存在虛擬機,虛擬cpu等待cpu響應時間百分比
(四)第四行:%KiB Mem
該行表示系統內存情況
參數解析:
total:當前系統總內存
free:空閑內存
used:已用內存
buff/cache:緩存緩存內存
需要注意的是,當內存不夠時,根據linux管理內存機制,會將buff/cache內存作為內存來使用。
(五)第五行:KiB Swap
該行表示系統交換分區
參數解析:
total:總分區大小
free:空閑分區大小
used:已使用分區大小
(六)第六行:系統進程狀態行
該行表示當前系統進程運行狀態,默認是按照cpu占用比例從大到小排列的,常見快捷操作:
M- 內存排序
P-CPU排序
N-PID排序
參數解析:
PID:進程ID,在系統中,唯一標識進程
USER:進程所有者
PR:優先級
NI:負值表示高優先級,正值表示低優先級
VIRT:進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
RES:進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
SHR:共享內存大小,單位kb
S:進程狀態(D=不可中斷的睡眠狀態,R=運行,S=睡眠,T=跟蹤/停止,Z=僵屍進程)
%CPU:進程占用cpu百分比
%MEM:進程占用內存百分比
TIME+:進程使用的CPU時間總計
COMMAND:進程命令
(七)top命令常用快捷鍵
1.ctr+z 停止
2.ctr+c 強制退出
3.q 退出
4.m 按內存排序查找
5.p 按PID排序
三 進程常用操作
(一)查看進程樹
linux中查看進程樹命令是pstree,要使用它,首先在linux上安裝
yum install psmisc -y
1.查看默認進程樹
pstree
2.帶有PID的進程樹
pstree -p
3.通過進程名查找
pstree -p | grep java
4.通過進程PID查找
pstree -ps 被查看進程PID
(二)終止進程
kill命令用來終止進程
1.查看進程信號
kill -l
列舉幾個常用信號:
2.強制殺死進程
kill -9 PID
(三)查看進程工作狀態
在Linux中,從交互角度,我們習慣將進程分為前台進程和后台進程,所謂前台進程,即與用戶交互的
進程,如top,vim命令,后台進程,即不需要與用戶交互的進程。
1.查看后台工作進程
linux中,jobs -l 查看后台工作的進程
參數解釋:
第一列:數字表示該進程倒數第幾放入工作進程
第二列:只有倒數第一(+),倒數第二(-)放入的進程才有符號
第三列:進程PID
第四列:進程狀態
第五列:進程信號標識
第六列:進程名
2.將后台進程恢復到前台
fg %工作號
需要注意的是,%可省略
3.將后台進程恢復后台
bg %工作號
需要注意的是,%可省略
四 系統資源查看
1.系統資源監控
vmstat [刷新延時(秒為單位) 刷新次數]
2.開機內核檢測
dmesg用來檢測開機時,linux內核情況,如檢測 dmesg |grep cpu
3.查看內存使用
free 用來查看內存使用
4.查看cpu信息
cat /proc/cpuinfo
5.uptime查看系統啟動時間和平均負載
6.查看系統與內核信息
uname 命令查看系統與內核信息
參數解釋:
-a :查看系統相關信息
-s:查看內核名稱
-r:查看內核版本
7.查看進程使用文件
lsof命令查看進程使用文件
參數:
-p :查看某個PID進程使用的文件
-u:查看某個用戶使用的文件
-c:列出以字符串開頭的進程打開的文件
版權區
- 轉載博客,必須注明博客出處
- 博客園:http://www.cnblogs.com/wangjiming/ (側重.NET)
- CSDN:https://blog.csdn.net/u010228798 (側重JAVA)
- 如您有新想法,歡迎提出,郵箱:2098469527@qq.com
- 專業.NET之家技術QQ群:490539956
- 專業化Java之家QQ群:924412846
- 有問必答QQ群:2098469527
- 一對一技術輔導QQ:2098469527