一、四大名捕
四大名捕,最初出現於溫瑞安創作的武俠小說,是朝廷中正義力量諸葛小花的四大徒弟,四人各懷絕技,分別是輕功暗器高手「無情」、內功卓越的高手「鐵手」、腿功驚人的「追命」和劍法一流的「冷血」。
本文四大名捕由 linux 命令所出演:
無情:ps 出演鐵手:dstat 出演追命:top 出演冷血:htop 出演
二、進程相關基礎知識
介紹四大名捕之前先介紹一下進程相關的基礎知識,話不多說,看圖。
(查看大圖)
三、輕功暗器高手「無情」 [PS]
ps:用於顯示當前進程的狀態(非動態)ps [options]:
選項有三種風格:1、UNIX風格,必須在選項前面加「-」2、BSD風格,選項前不能加「-」3、GNU風格,選項前為兩個「-」
常用組合之一:aux
a:所有與終端相關的進程x:所有與終端無關的進程u:以用戶為中心組織進程狀態信息顯示
CPU%:cpu時間佔用比率
MEM%:內存佔用百分比
VSZ:virtual size虛擬內存集;
RSS:Resident Size,常駐內存集;
STAT:
R:running 運行S:interruptable sleeping 可中斷睡眠D:uninterruptable sleeping 不可中斷睡眠T:Stopped 停止Z:zombie 僵死態+:前臺進程l:多線程進程N:低優先級進程<:高優先級進程s:session leader 進程領導者常用組合之二:-ef
-e:顯示所有進程-f:顯示完整格式的進程信息
常用組合之三:-eFH
-F:顯示完整格式的進程信息;
C:cpu utilization cpu佔用百分比PSR:運行於哪顆CPU之上-H:以層級結構顯示進程的相關信息;
常用組合之四:-eo, axo
o field1, field2,…:自定義要顯示的欄位列表,以逗號分隔
常用的field:pid, ni, priority, psr, pcpu, stat, comm, tty, ppid, rtprio
pid:進程的pid號ni:nice值priority:優先級psr:運行在那顆cpupcpu:cpu利用率ppid:父進程的id號rtprio:實時優先級四、內功卓越的高手「鐵手」[dstat]
dstat:系統資源統計命令(動態)dstat [-afv] [options..] [delay [count]]
常用選項:
-c, –cpu:顯示cpu相關信息;-C #,#,…,total:顯示第一個cpu,第二個cpu或者總共的-d, –disk:顯示磁碟的相關信息-D sda,sdb,…,tobal:顯示指定硬碟設備,總空間-g:顯示page相關的速率數據;-m:Memory的相關統計數據-n:Interface的相關統計數據;-p:顯示process的相關統計數據;-r:顯示io請求的相關的統計數據;-s:顯示swapped的相關統計數據;
–tcp:顯示tcp套接字
–udp:顯示udp連接
–raw:顯示裸套接字
–socket:套接字
–ipc:進程間通信信息
–top-cpu:顯示最佔用CPU的進程;
–top-io:最佔用io的進程;
–top-mem:最佔用內存的進程;
五、腿功驚人的「追命」[top]
top:列出inux進程top為動態顯示進程
top命令個參數具體含義:
top – 14:58:34 up 5:28, 1 user, load average: 0.01, 0.02, 0.05
14:58:34:當前時間up 5:28:運行時長1 user:登錄當前系統上的用戶數load average: 0.01, 0.02, 0.05:平均負載(等待運行的隊列長度的負載)Tasks: 353 total, 2 running, 351 sleeping, 0 stopped, 0 zombie
Tasks:任務353 total:一共運行多少進程2 running:幾個處於運行351 sleeping:多少個睡眠0 stopped:多少個停止0 zombie:多少個僵死%Cpu(s): 0.0 us, 0.7 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu:cpu佔用百分比0.0 us:用戶空間佔用的百分比0.7 sy:內核空間佔用時間的百分比0.0 ni:對nice調整佔用的內存百分比99.3 id:空閒百分比0.0 wa(wait):等待IO完成所消耗的百分比0.0 hi:處理硬體中斷所佔用的百分比0.0 si:處理軟體中斷所佔用的百分比0.0 st:被偷走的百分比(虛擬化程序)KiB Mem : 1001332 total, 681052 free, 139844 used, 180436 buff/cache
KiB Mem:內存空間佔用,以KB為單位:1001332 total:總內存空間681052 free:剩餘內存空間139844 used:已用內存空間180436 buff/cache:用於緩存和緩衝的內存空間KiB Swap: 2098172 total, 2098172 free, 0 used. 698100 avail Mem
KiB Swap:swap空間佔用,以KB為單位2098172 total:總空間2098172 free:剩餘空間0 used:已用空間698100 avail Mem :有效swap大小 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3077 root 20 0 146276 2256 1420 R 1.7 0.2 0:02.91 top
PID:用戶pidUSER:用戶名稱PR:優先級NI:nice值VIRT:virtual size虛擬內存集RES:常駐內存集SHR:共享內存空間S:當前狀態%CPU:佔據CPU百分比%MEM:佔據MEM百分比TIME+:運行時長COMMAND:命令top內排序:
P:以佔據CPU百分比排序M:以佔據內存百分比排序T:累積佔用CPU時間排序首部信息:
uptime信息:l命令
# 第一行沒有顯示
tasks及cpu信息:t命令
# 可以禁用顯示硬碟及cpu相關消息
內存信息:m命令
# 可以將內存使用率用|||顯示 或者白空格顯示
退出命令:q
修改刷新時間間隔:s
終止指定的進程:k
選項:
-d #:指定刷新時間間隔,默認為3秒;-b:以批次方式顯示;-n #:顯示多少批次;六、劍法一流「冷血」[htop]
htop:交互式進程查看器htop [-dus]
# htop 是一個非常強大的工具,下面從F1到F10可以看到具體的參數信息。
# F1 :幫助信息
選項:
-d #:指定延遲時間間隔-u UserName:僅顯示指定用戶的進程-s COLUME:以指定欄位進行排序常用子命令:
l:顯示選定的進程打開的文件列表s:跟蹤選定的進程的系統調用t:以層級關係顯示各進程狀態a:將選定的進程綁定至某指定的CPU核心# 此處可以添加指定項到顯示屏幕上面,顯示方式可以是[Bar] [Text] [Graph] [LED]
進程管理相關命令就介紹到這了,如果有不同意見可以慷慨提出!
Linux學習天地
大家好,我有以下資料送給大家1、Linux雲計算初級學習2、Nginx高可用web實戰演練3、K8S(Kubernetes)雲計算案例實戰