top
top是一個動態顯示過程,即可跟據用戶的按鍵不斷刷新當前狀態,top命令提供了實時的對當前系統的狀態監視。
top - 11:53:40 up 11 days, 13:32, 3 users, load average: 0.00, 0.01, 0.05 Tasks: 179 total, 1 running, 178 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.8 us, 0.7 sy, 0.0 ni, 98.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1880328 total, 203168 free, 151380 used, 1525780 buff/cache KiB Swap: 2097148 total, 2097044 free, 104 used. 1389256 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 30624 root 20 0 250396 21912 4680 S 3.0 1.2 8:43.05 /usr/bin/python /usr/bin/glances -o HTML -f /usr/local/nginx/html 1 root 20 0 134164 14168 3116 S 0.0 0.8 2:12.55 /usr/lib/systemd/systemd --switched-root --system --deserialize 20 2 root 20 0 0 0 0 S 0.0 0.0 0:00.20 [kthreadd] ...
一、top前五行信息
統計信息區前五行是系統整體的統計信息。
-
第一行是任務隊列信息
同uptime命令的執行結果:
[root@localhost ~]#uptime 11:59:37 up 11 days, 13:38, 3 users, load average: 0.00, 0.01, 0.05
其內容如下:
-
11:59:37 #當前系統的時間
-
up 11 days, 13:38 #系統的運行的時間
-
3 users #當前的登陸的用戶
-
load average: 0.00, 0.01, 0.05 #系統負載,即任務隊列的平均長度。 三個數值分別為 1分鐘、5分鐘、15分鐘前到現在的平均值。
-
第二、三行是進程和cpu的信息
-
Tasks: 179 total #進程總數
-
1 running #正在運行的進程數
-
178 sleeping #睡眠的進程數
-
0 stopped #停止的進程書
-
0 zombie #僵尸進程
-
0.8 us #用戶空間占有cpu百分比
-
0.7 sy #內核空間占用cpu百分比
-
0.0 ni #用戶進程空間nice切換進程優先級占用的cpu百分比
-
98.5 id #空閑的cpu百分比
-
0.0 wa #等待輸入輸出的cpu時間百分比
-
0.0 hi #硬件io占用cpu的百分比
-
0.0 si #軟件io占用的cpu百分比
-
0.0 st #被虛擬化程序偷走的cpu百分比
-
第四、五行為內存信息
KiB Mem :
-
1880328 total #物理內存總量
-
203168 free #空閑物理內存的總量
-
151380 used #使用的物理內存總量
-
1525780 buff/cache #用作內核緩存緩沖的內存量
KiB Swap:
-
2097148 total #交換區總量
-
2097044 free #交換區空閑總量
-
104 used #使用的交換區總量
-
1389256 avail Mem #實際可用的內存總量
二、進程信息
-
PID #進程id
-
USER #進程所有者的用戶名
-
PR #優先級
-
NI #nice值,負值表示高優先級,正值表示低優先級
-
VIRT #進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
-
RES #進程使用的、未被換出的物理內存,單位kb。RES=CODE+DATA
-
CODE #可執行代碼占用的物理內存大小,單位kb
-
DATA #可執行代碼以外的部分(數據段+棧)占用的物理內存大小,單位kb
-
SHR #共享內存大小,單位kb
-
S #進程狀態
-
%CPU #上次更新到現在的CPU時間占用百分比
-
%MEM #進程使用的物理內存百分比
-
TIME+ #進程使用的CPU時間總計,單位1/100秒
-
COMMAND #命令名/命令行
三、進程狀態信息
-
D:不可中斷的睡眠
-
R:運行或就緒
-
S:可中斷的睡眠
-
T:停止
-
Z:僵死
-
<:高優先級進程
-
N:低優先級進程
-
+:前臺進程組中的進程
-
l:多線程進程
-
s:會話進程首進程
四、top指令 top
-
M:根據駐留內存大小進行排序
-
P:根據cpu使用百分比排序
-
T:根據累計時間進行排序
-
l:是否顯示平均負載和啟動時間
-
t:是否顯示進程和cpu狀態相關信息
-
m:是否顯示內存相關信息
-
c:是否顯示完整的命令行信息
-
q:退出top
-
k:終止某個進程
top選項
-
-d:刷新時長
-
-b:刷屏顯示
-
-m:顯示幾屏
htop
我們了解了top命令的使用,但是還有一個比傳統top更加功能強大的htop命令,它有更加強大的功能及能顯示更多的信息。
CPU[ 0.0%] Tasks: 27, 30 thr; 2 running Mem[|||||||||||||||||||||||||||||||||| 227/977MB] Load average: 0.00 0.01 0.05 Swp[ 0/2047MB] Uptime: 4 days, 15:17:58 PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 57474 root 20 0 117M 2212 1416 R 0.5 0.2 0:00.53 htop 1370 root 20 0 540M 16360 5728 S 0.0 1.6 0:38.55 /usr/bin/python -Es /usr/sbin/tuned -l -P 42295 root 20 0 137M 5136 3868 S 0.5 0.5 0:00.43 sshd: root@pts/0,pts/1 ...
顯示的內容更top相似,那我們來了解下htop更強大的功能:
-
htop支持鼠標操作
-
htop可以定制化顯示內容
CPU[| 0.4%] Tas[| 2/385] Mem[|||||||||||||||||||||||||||||||||| 230/977MB] Load average: 0.00 0.01 0.05 Swp[ 0/2047MB] Uptime: 4 days, 15:32:24 PPID START PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 1131 00:51 1146 root 20 0 454M 20876 10760 S 0.0 2.1 0:10.80 /usr/bin/docker-current daemon --selinux-enabled 1131 00:51 1153 root 20 0 454M 20876 10760 S 0.0 2.1 0:00.00 /usr/bin/docker-current daemon --selinux-enabled 1131 00:51 1184 root 20 0 454M 20876 10760 S 0.0 2.1 0:19.32 /usr/bin/docker-current daemon --selinux-enabled 1131 Feb06 1267 root 20 0 454M 20876 10760 S 0.0 2.1 0:07.20 /usr/bin/docker-current daemon --selinux-enabled 1131 Feb06 1273 root 20 0 454M 20876 10760 S 0.0 2.1 0:00.02 /usr/bin/docker-current daemon --selinux-enabled 1131 00:51 1335 root 20 0 454M 20876 10760 S 0.0 2.1 0:00.00 /usr/bin/docker-current daemon --selinux-enabled
-
htop可以查找或過濾要查找顯示的內容
CPU[ 0.0%] Tas[| 2/385] Mem[|||||||||||||||||||||||||||||||||| 230/977MB] Load average: 0.00 0.01 0.05 Swp[ 0/2047MB] Uptime: 4 days, 15:34:20 PPID START PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 1 Feb06 1129 grafana 20 0 407M 15116 8352 S 0.0 1.5 0:08.34 ├─ /usr/sbin/grafana-server --config=/etc/grafana/gr 1 00:51 26605 grafana 20 0 407M 15116 8352 S 0.0 1.5 0:00.00 │ ├─ /usr/sbin/grafana-server --config=/etc/grafana 1 00:51 14594 grafana 20 0 407M 15116 8352 S 0.0 1.5 0:00.25 │ ├─ /usr/sbin/grafana-server --config=/etc/grafana 1 00:51 1232 grafana 20 0 407M 15116 8352 S 0.0 1.5 0:01.90 │ ├─ /usr/sbin/grafana-server --config=/etc/grafana 1 00:51 1203 grafana 20 0 407M 15116 8352 S 0.0 1.5 0:00.02 │ ├─ /usr/sbin/grafana-server --config=/etc/grafana 1 00:51 1143 grafana 20 0 407M 15116 8352 S 0.0 1.5 0:00.00 │ ├─ /usr/sbin/grafana-server --config=/etc/grafana 1 00:51 1140 grafana 20 0 407M 15116 8352 S 0.0 1.5 0:00.39 │ └─ /usr/sbin/grafana-server --config=/etc/grafana
ps
查看進程快照
ps 有兩種風格的命令:
SysV風格:以-開頭
BSD風格:不需要-
常見的組合:
BSD風格:
-
a:所有與終端有關的進程
-
u:以用戶為中心,進行顯示
-
x:所有與終端無關的進程
-
o:自定義顯示的字段
o后面常見的字段有:
-
pid:進程的id
-
ni:nice值
-
pri:優先級
-
psr: 進程分配到那個cpu
-
stat: 進程的狀態
-
tty: 顯示終端
-
comm: 顯示命令
-
ppid:顯示父進程
-
rtprio: 實時優先級
SysV風格:
-
-e: 顯示所有進程
-
-f: 顯示進程間關系
-
-o: 自定義顯示字段
datst
收集系統信息
-
-c, –cpu: 顯示cpu相關信息
-
-C #,#…total
-
-d,–disk: 顯示磁盤的相關信息
-
-D sda,sdb…total
-
-g: 顯示page相關的速率數據
-
-m:memory的相關統計數據
-
-n:interface的相關統計數據
-
-p:顯示process的相關統計數據
-
-r:顯示io請求的相關的統計數據
-
-s:顯示swapped的相關統計數據
-
–tcp:顯示tcp信息
-
–udp:顯示udp信息
-
–raw:顯示裸套接字信息
-
–socket:顯示socket信息
-
–ipc:顯示進程間通信信息
-
–top-cpu:顯示最占cpu的進程
-
–top-io:最占用io的進程
-
–top-mem:最占用內存的進程
-
–top-latency:延遲最大的進程
原創文章,作者:N25_隨心,如若轉載,請注明出處:http://www.www58058.com/68719
不錯,總結歸納的非常好,這樣對比歸納記憶將會更有利于長時間記憶。