目錄
- 1、核心命令
- 2、常用命令
- 3、核心命令詳解
- 3.1、ps aux
- 3.2、Top
- 1、上半部分顯示了整體系統(tǒng)負載情:
- 2、下半部分顯示了各個進程的運行情況:
1、核心命令
linux 監(jiān)控網(wǎng)絡(luò)IO、磁盤、CPU、內(nèi)存:
CPU:vmstat 、sar –u、top
磁盤IO:iostat –xd、sar –d、top
網(wǎng)絡(luò)IO:iftop -n、ifstat、dstat –nt、sar -n DEV 2 3
磁盤容量:df –h
內(nèi)存使用:free –m、top
2、常用命令
(1)內(nèi)存:條數(shù)、每條大小、內(nèi)存是DDR4還是DDR3、內(nèi)存頻率是2666MT/S還是1600MT/s
條數(shù): dmidecode|grep -A5 'Memory Device'|grep Size | grep -v Installed |wc -l
每條大?。?dmidecode|grep -A5 'Memory Device'|grep Size | grep -v Installed |uniq
內(nèi)存類型: dmidecode | grep -A16 "Memory Device" | grep 'Type:' |grep -v Unknown |uniq
內(nèi)存頻率: dmidecode | grep -A16 "Memory Device" | grep 'Speed' |grep -v Unknown |uniq
(2)硬盤:塊數(shù),大小
fdisk -l | grep "Disk /dev/sd"
(3)查看什么進程占用端口
netstat -antp | fgrep <port>
(4)查看進程資源
jps -l # 獲取進程idjmap -heap 21046
(5)CPU個數(shù)
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
(6)CPU核數(shù)
cat /proc/cpuinfo| grep "cpu cores"| uniq
(7)CPU主頻
cat /proc/cpuinfo| grep "model name"| uniq
3、核心命令詳解
3.1、ps aux
ps命令用于查看系統(tǒng)中的進程狀態(tài)
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER,進程所有者的用戶名。
PID,進程號,可以唯一標(biāo)識該進程。
%CPU,進程自最近一次刷新以來所占用的CPU時間和總時間的百分比。
%MEM,進程使用內(nèi)存的百分比。
VSZ,進程使用的虛擬內(nèi)存大小,以K為單位。
RSS,進程占用的物理內(nèi)存的總數(shù)量,以K為單位。
TTY,進程相關(guān)的終端名。
STAT,進程狀態(tài),用(R--運行或準(zhǔn)備運行;S--睡眠狀態(tài);I--空閑;Z--凍結(jié);D--不間斷睡眠;W-進程沒有駐留頁;T停止或跟蹤。)這些字母來表示。
START,進程開始運行時間。
TIME,進程使用的總CPU時間。
COMMAND,被執(zhí)行的命令行。
3.2、Top
top命令是Linux下常用的性能分析工具,能夠?qū)崟r顯示系統(tǒng)中各個進程的資源占用狀況,類似于Windows的任務(wù)管理器。
1、上半部分顯示了整體系統(tǒng)負載情:
- top一行:從左到右依次為當(dāng)前系統(tǒng)時間,系統(tǒng)運行的時間,系統(tǒng)在之前1min、5min和15min內(nèi)cpu的平均負載值
- Tasks一行:該行給出進程整體的統(tǒng)計信息,包括統(tǒng)計周期內(nèi)進程總數(shù)、運行狀態(tài)進程數(shù)、休眠狀態(tài)進程數(shù)、停止?fàn)顟B(tài)進程數(shù)和僵死狀態(tài)進程數(shù)
- Cpu(s)一行:cpu整體統(tǒng)計信息,包括用戶態(tài)下進程、系統(tǒng)態(tài)下進程占用cpu時間比,nice值大于0的進程在用戶態(tài)下占用cpu時間比,cpu處于idle狀態(tài)、wait狀態(tài)的時間比,以及處理硬中斷、軟中斷的時間比
- Mem一行:該行提供了內(nèi)存統(tǒng)計信息,包括物理內(nèi)存總量、已用內(nèi)存、空閑內(nèi)存以及用作緩沖區(qū)的內(nèi)存量
- Swap一行:虛存統(tǒng)計信息,包括交換空間總量、已用交換區(qū)大小、空閑交換區(qū)大小以及用作緩存的交換空間大小
2、下半部分顯示了各個進程的運行情況:
PID: 進程pid
USER: 拉起進程的用戶
PR: 該列值加100為進程優(yōu)先級,若優(yōu)先級小于100,則該進程為實時(real-time)進程,否則為普通(normal)進程,實時進程的優(yōu)先級更高,更容易獲得cpu調(diào)度,以上輸出結(jié)果中,java進程優(yōu)先級為120,是普通進程,had進程優(yōu)先級為2,為實時進程,migration 進程的優(yōu)先級RT對應(yīng)于0,為最高優(yōu)先級
NI: 進程的nice優(yōu)先級值,該列中,實時進程的nice值為0,普通進程的nice值范圍為-20~19
VIRT: 進程所占虛擬內(nèi)存大?。J單位kB)
RES: 進程所占物理內(nèi)存大?。J單位kB)
SHR: 進程所占共享內(nèi)存大?。J單位kB)
S: 進程的運行狀態(tài)
%CPU: 采樣周期內(nèi)進程所占cpu百分比
%MEM: 采樣周期內(nèi)進程所占內(nèi)存百分比
TIME+: 進程使用的cpu時間總計
COMMAND: 拉起進程的命令
根據(jù)以上命令,提前設(shè)置監(jiān)控預(yù)警。監(jiān)控預(yù)警能夠讓你及時發(fā)現(xiàn)系統(tǒng)的性能信息、比如磁盤快滿了,內(nèi)存超負荷了,我們可以提前作出調(diào)整。
最后,遇到問題不要慌。根據(jù)經(jīng)驗,再通過命令排查內(nèi)存、磁盤、網(wǎng)絡(luò)、cpu,問題無非就這幾類,切不可著急忙慌亂改一通,讓簡單問題復(fù)雜化,希望大家以后多多支持腳本之家!