性能分析
vmstat
虛擬內(nèi)存統(tǒng)計
用法
其中
r : 運行和等待 CPU 時間片的進程數(shù)。若該值大于系統(tǒng) CPU 個數(shù)纵菌,則說明 CPU 不足
b : 表示等待資源的進程數(shù)
swpd : 切換到內(nèi)存交換區(qū)的內(nèi)存大胁邸(單位 KB)
free: 空閑的物理內(nèi)存的大小,我的機器內(nèi)存總共2G产艾,剩余92M疤剑。
buff: Linux/Unix系統(tǒng)是用來存儲,目錄里面有什么內(nèi)容闷堡,權(quán)限等的緩存
cache:直接用來記憶我們打開的文件,給文件做緩沖隘膘,把空閑的物理內(nèi)存的一部分拿來做文件和目錄的緩存,是為了提高 程序執(zhí)行的性能杠览,當(dāng)程序使用內(nèi)存時弯菊,buffer/cached會很快地被使用
si:每秒從磁盤讀入虛擬內(nèi)存的大小,如果這個值大于0踱阿,表示物理內(nèi)存不夠用或者內(nèi)存泄露了管钳,要查找耗內(nèi)存進程解決掉。
so:每秒虛擬內(nèi)存寫入磁盤的大小软舌,如果這個值大于0才漆,同上。
bi:塊設(shè)備每秒接收的塊數(shù)量(讀磁盤)(kb/s)
bo:塊設(shè)備每秒發(fā)送的塊數(shù)量(寫磁盤)(kb/s)
in:每秒CPU的中斷次數(shù)佛点,包括時間中斷
cs:每秒上下文切換次數(shù)醇滥。
us:用戶進程消耗 CPU 時間百分比
sy:內(nèi)核進程消耗 CPU 時間百分比,sy 的值較高時超营,則說明內(nèi)核消耗的 CPU 資源很多
id:空閑 CPU 時間百分比
wt:IO 等待 CPU 時間百分比
free
內(nèi)存使用狀況
netstat
當(dāng)前網(wǎng)絡(luò)信息
用法
其中
-a (all)顯示所有選項鸳玩,默認不顯示LISTEN相關(guān)
-t (tcp)僅顯示tcp相關(guān)選項
-u (udp)僅顯示udp相關(guān)選項
-n 拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字
-l 僅列出有在 Listen (監(jiān)聽) 的服務(wù)狀態(tài)
-p 顯示建立相關(guān)鏈接的程序名
-r 顯示路由信息演闭,路由表
-e 顯示擴展信息不跟,例如uid等
-s 按各個協(xié)議進行統(tǒng)計
-c 每隔一個固定時間,執(zhí)行該netstat命令米碰。
提示:LISTEN和LISTENING的狀態(tài)只有用-a或者-l才能看到
top
其中
第一行:
14:36:14 當(dāng)前系統(tǒng)時間
days, 4:43 系統(tǒng)已經(jīng)運行了2天4小時43分鐘(在這期間沒有重啟過)
1 users 當(dāng)前有1個用戶登錄系統(tǒng)
load average: 0.00, 0.01, 0.05 窝革,后面的三個數(shù)分別是1分鐘购城、5分鐘、15分鐘的負載情況聊闯。load average數(shù)據(jù)是每隔5秒鐘檢查一次活躍的進程數(shù)工猜,然后按特定算法計算出的數(shù)值米诉。如果這個數(shù)除以邏輯CPU的數(shù)量菱蔬,結(jié)果高于5的時候就表明系統(tǒng)在超負荷運轉(zhuǎn)了。
第二行:Tasks 任務(wù)(進程)史侣,
系統(tǒng)現(xiàn)在共有10個進程拴泌,其中處于運行中的有2個,108個在休眠(sleep)惊橱,stoped狀態(tài)的有0個蚪腐,zombie狀態(tài)(僵尸)的有0個。
第三行:cpu狀態(tài)
us 用戶空間占用CPU的百分比
sy 內(nèi)核空間占用CPU的百分比
ni 改變過優(yōu)先級的進程占用CPU的百分比
id 空閑CPU百分比
wa IO等待占用CPU的百分比
hi 硬中斷(Hardware IRQ)占用CPU的百分比
si 軟中斷(Software Interrupts)占用CPU的百分比
第四行:內(nèi)存狀態(tài)
total 物理內(nèi)存總量
free 空閑內(nèi)存總量
used 使用中的內(nèi)存總量
buff/cache 緩存的內(nèi)存量
第五行:swap交換分區(qū)
total 交換區(qū)總量
free 空閑交換區(qū)總量
used 使用的交換區(qū)總量
avail Mem 緩沖的交換區(qū)總量
第六行:各進程(任務(wù))的狀態(tài)監(jiān)控
PID 進程id
USER 進程所有者
PR 進程優(yōu)先級
NI nice值税朴。負值表示高優(yōu)先級回季,正值表示低優(yōu)先級
VIRT 進程使用的虛擬內(nèi)存總量,單位kb正林。VIRT=SWAP+RES
RES 進程使用的泡一、未被換出的物理內(nèi)存大小,單位kb觅廓。RES=CODE+DATA
SHR 共享內(nèi)存大小鼻忠,單位kb
S 進程狀態(tài)。D=不可中斷的睡眠狀態(tài) R=運行 S=睡眠 T=跟蹤/停止 Z=僵尸進程
%CPU 上次更新到現(xiàn)在的CPU時間占用百分比
%MEM 進程使用的物理內(nèi)存百分比
TIME+ 進程使用的CPU時間總計杈绸,單位1/100秒
COMMAND 進程名稱(命令名/命令行)
監(jiān)控java線程數(shù):
ps -eLf grep java wc -l
監(jiān)控網(wǎng)絡(luò)客戶連接數(shù):
netstat -n grep tcp grep 偵聽端口 wc -l