
- 1 扒開看看 top 命令引數詳情
- 第一行,[top - ]任務佇列資訊
- 第二行,[Tasks] 任務(行程)
- 第三行,[Cpu(s)]狀態資訊
- 第四行,[Mem]記憶體狀態
- 第五行,[Swap]虛擬記憶體交換磁區資訊
- 第六行,空行
- 第七行以下:各行程(任務)的狀態監控
- 2 top 的一些常用互動命令和使用案例
- 3 top 命令里面的 buffer 和 cache 區別?
- 4 ps 命令常用案例和引數說明
- ps -aux |grep {要查找的行程}
- ps -ef |grep {要查找的行程}
- ps 命令其它常用案例
- 5 小結
1 扒開看看 top 命令引數詳情
Linux top 命令用于實時顯示 process 的動態詳情,

第一行,[top - ]任務佇列資訊
系統時間:07:27:05
運行時間(系統已開機多長時間):up 1:57 min
當前登錄用戶數:3 user
cpu 平均負載:load average: 0.00, 0.00, 0.00
//三個數值分別為,1分鐘,5分鐘,15分鐘的負載情況
第二行,[Tasks] 任務(行程)
總行程數:150 total,
正在運行的行程數:1 running,
睡眠的行程數:149 sleeping,
停止的行程數: 0 stopped,
僵尸行程數: 0 zombie
第三行,[Cpu(s)]狀態資訊
0.0%us【user space】— 用戶空間占用CPU的百分比,
0.3%sy【sysctl】— 系統內核占用CPU的百分比,
0.0%ni【】— 改變過優先級的行程占用CPU的百分比
99.7%id【idolt】— 空閑CPU百分比
0.0%wa【wait】— IO等待占用CPU的百分比
0.0%hi【Hardware IRQ】— 硬中斷占用CPU的百分比
0.0%si【Software Interrupts】— 軟中斷占用CPU的百分比
第四行,[Mem]記憶體狀態
//total:總記憶體大小,used:已使用的記憶體,free:空閑的記憶體,buffers:快取的記憶體大小
1003020k total, 234464k used, 777824k free, 24084k buffers
第五行,[Swap]虛擬記憶體交換磁區資訊
//total:交換區總量;used:使用的交換區總量;free:空閑交換區總量;cached:快取的交換區總量
2031612k total, 536k used, 2031076k free, 505864k cached
第六行,空行
第七行以下:各行程(任務)的狀態監控
PID — 行程id
USER — 行程所有者
PR — 行程優先級
NI — nice值,負值表示高優先級,正值表示低優先級
VIRT — 行程使用的虛擬記憶體總量,單位kb,VIRT=SWAP+RES
RES — 行程使用的、未被換出的物理記憶體大小,單位kb,RES=CODE+DATA
SHR — 共享記憶體大小,單位kb
S —行程狀態,D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/停止 Z=僵尸行程
%CPU — 上次更新到現在的CPU時間占用百分比
%MEM — 行程使用的物理記憶體百分比
TIME+ — 行程使用的CPU時間總計,單位1/100秒
COMMAND — 行程名稱(命令名/命令列)
2 top 的一些常用互動命令和使用案例
top 命令,然后按數字 "1" 可監控每個邏輯CPU的狀況
q # 退出程式
m # 切換顯示記憶體資訊
M # 根據駐留記憶體大小進行排序
t # 切換顯示行程和CPU狀態資訊
P # 根據CPU使用百分比大小進行排序
top -d 3 # 表示更新周期為3秒
top -p 11 # 顯示行程號為11的行程資訊,CPU、記憶體占用率等
3 top 命令里面的 buffer 和 cache 區別?
Stack Exchange 對這個的討論貼
what-do-the-buff-cache-and-avail-mem-fields-in-top-mean
摘取關鍵資訊
buffers
Memory used by kernel buffers (Buffers in /proc/meminfo)
cache
Memory used by the page cache and slabs (Cached and SReclaimable in /proc/meminfo)
buff/cache
buff/cache
Sum of buffers and cache
4 ps 命令常用案例和引數說明
Linux ps (process status)命令用于顯示當前行程的狀態,類似于 windows 的任務管理器,
ps -aux |grep {要查找的行程}
示例:ps -aux|grep zookeeper
# 最常用的方法是 ps -aux,結合 grep 去查找特定的行程,
#-a 代表 all,
#-u 以用戶為主的格式來顯示程式狀況,
#-x 顯示所有程式,不以終端機來區分,
ps -ef |grep {要查找的行程}
示例:ps -ef | grep zookeeper
# -e 和 -a 的意思是一樣的,即顯示有關其他用戶行程的資訊,包括那些沒有控制終端的行程,
# -f 顯示用戶id,行程id,父行程id,最近CPU使用情況,行程開始時間等等,
ps 命令其它常用案例
# 顯示 root 用戶行程資訊
ps -u root
# 結合 less 命令和管道來使用
ps -aux |less
# 根據 CPU 使用來升序排序
ps -aux --sort -pcpu | less
# 根據記憶體使用來升序排序
ps -aux --sort -pmem | less
# 結合 head,只顯示前十個
ps -aux --sort -pcpu,+pmem | head -n 10
5 小結
Linux 看懂行程狀況資訊也不難嘛?top、ps 兩個就滿足一般使用!
「不甩鍋的碼農」原創,轉載請注明來源,未經授權禁止商業用途!同名 GZH 請關注!
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/428423.html
標籤:Linux
上一篇:趣談IO多路復用的本質
