作為Linux運維工程師系統維護過程中,需要我們經常查看CPU使用率、內存使用率、帶寬占用,從資源使用的程度分析系統整體的運行情況。
在 Linux 上查看資源使用情況有很多命令可以參考,CPU、內存、IO、NETWORK等資源使用情況都可以通過某些命令查詢到,下面小編將詳細的講解CPU使用和內存使用情況的查看方式。
Top命令
Top命令很常用,在第三行有顯示CPU當前的使用情況。
字段說明:
PID:進程標示號
USER:進程所有者
PR:進程優先級
NI:進程優先級別數值
VIRT:進程占用的虛擬內存值
RES:進程占用的物理內存值
SHR :進程使用的共享內存值
S :進程的狀態,其中S表示休眠,R表示正在運行,Z表示僵死
%CPU :進程占用的CPU使用率
%MEM :進程占用的物理內存百分比
TIME+:進程啟動后占用的總的CPU時間
Command:進程啟動的啟動命令名稱
Free命令
f查看總內存、使用、空閑等情況。
字段說明:
total:總計物理內存的大小
used:已使用多大
free:可用有多少
Shared:多個進程共享的內存總額
Buffers/cached:磁盤緩存的大小
Vmstat命令
查看CPU使用率、內存使用、IO讀寫情況,輸入命令 vmstat:
字段說明:
Procs(進程):
r: 運行隊列中進程數量,這個值也可以判斷是否需要增加CPU。(長期大于1)
b: 等待IO的進程數量
Memory(內存):
swpd: 使用虛擬內存大小
free: 空閑物理內存大小
buff: 用作緩沖的內存大小
cache: 用作緩存的內存大小
Swap:
si: 每秒從交換區寫到內存的大小,由磁盤調入內存
so: 每秒寫入交換區的內存大小,由內存調入磁盤
IO:
bi: 每秒讀取的塊數
bo: 每秒寫入的塊數
系統:
in: 每秒中斷數,包括時鐘中斷。
cs: 每秒上下文切換數。
CPU(以百分比表示):
us: 用戶進程執行時間百分比(user time)
sy: 內核系統進程執行時間百分比(system time)
wa: IO等待時間百分比
id: 空閑時間百分比
對于Linux運維工程師來說,查看資源使用情況非常重要,是監控確認業務的正常運行的數據基礎。與此同時,對于突發的業務崩潰運維事故,我們需要的則是能在事故發生的第一時間得到告警和通知。