linux性能分析top iostat vmstat free,linux 性能篇 -- top用法(示例代码)
#top
輸出:
c: ?切換顯示命令名稱和完整命令行。 顯示完整的命令。 這個功能很有用。
M : 根據(jù)駐留內(nèi)存大小進(jìn)行排序。
P:根據(jù)CPU使用百分比大小進(jìn)行排序。[[email?protected]?log]#?top
top?-?14:06:23?up?70?days,?16:44,??2?users,??load?average:?1.25,?1.32,?1.35
Tasks:?206?total,???1?running,?205?sleeping,???0?stopped,???0?zombie
Cpu(s):??5.9%us,??3.4%sy,?0.0%ni,?90.4%id,??0.0%wa,?0.0%hi,??0.2%si,??0.0%st
Mem:??32949016k?total,?14411180k?used,?18537836k?free,???169884k?buffers
Swap:?32764556k?total,????????0k?used,?32764556k?free,??3612636k?cached
PID???USER??????PR??NI??VIRT??RES??SHR?S?%CPU?%MEM????TIME+??COMMAND
28894??root??????22???0?1501m?405m??10m?S?52.2??1.3???2534:16?java
18249??root??????18???0?3201m?1.9g??11m?S?35.9??6.0?569:39.41?java
2808??root??????25???0?3333m?1.0g??11m?S?24.3??3.1?526:51.85?java
25668??root??????23???0?3180m?704m??11m?S?14.0??2.2?360:44.53?java
574???root??????25???0?3168m?611m??10m?S?12.6??1.9?556:59.63?java
1599??root??????20???0?3237m?1.9g??11m?S?12.3??6.2?262:01.14?java
1008??root??????21???0?3147m?842m??10m?S??0.3??2.6???4:31.08?java
第一行,任務(wù)隊(duì)列信息,同 uptime 命令的執(zhí)行結(jié)果,具體參數(shù)說明情況如下:
14:06:23 — 當(dāng)前系統(tǒng)時間
up 70 days, 16:44 — 系統(tǒng)已經(jīng)運(yùn)行了70天16小時44分鐘(在這期間系統(tǒng)沒有重啟過的吆!)
2 users — 當(dāng)前有2個用戶登錄系統(tǒng)
load average: 1.15, 1.42, 1.44 — load average后面的三個數(shù)分別是1分鐘、5分鐘、15分鐘的負(fù)載情況。
load average數(shù)據(jù)是每隔5秒鐘檢查一次活躍的進(jìn)程數(shù),然后按特定算法計(jì)算出的數(shù)值。如果這個數(shù)除以邏輯CPU的數(shù)量,
結(jié)果高于5的時候就表明系統(tǒng)在超負(fù)荷運(yùn)轉(zhuǎn)了。第二行,Tasks — 任務(wù)(進(jìn)程),具體信息說明如下:
系統(tǒng)現(xiàn)在共有206個進(jìn)程,其中處于運(yùn)行中的有1個,205個在休眠(sleep),stoped狀態(tài)的有0個,zombie狀態(tài)(僵尸)的有0個。
第三行,cpu狀態(tài)信息,具體屬性說明如下:
5.9%us — 用戶空間占用CPU的百分比。
3.4% sy — 內(nèi)核空間占用CPU的百分比。
0.0% ni — 改變過優(yōu)先級的進(jìn)程占用CPU的百分比
90.4% id — 空閑CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中斷(Hardware IRQ)占用CPU的百分比
0.2% si — 軟中斷(Software Interrupts)占用CPU的百分比
備注:在這里CPU的使用比率和windows概念不同,需要理解linux系統(tǒng)用戶空間和內(nèi)核空間的相關(guān)知識!
第四行,內(nèi)存狀態(tài),具體信息如下:
32949016k total — 物理內(nèi)存總量(32GB)
14411180k used — 使用中的內(nèi)存總量(14GB)
18537836k free — 空閑內(nèi)存總量(18GB)
169884k buffers — 緩存的內(nèi)存量 (169M)
第五行,swap交換分區(qū)信息,具體信息說明如下:
32764556k total — 交換區(qū)總量(32GB)
0k used — 使用的交換區(qū)總量(0K)
32764556k free — 空閑交換區(qū)
總量(32GB)
3612636k cached — 緩沖的交換區(qū)總量(3.6GB)
第七行以下:各進(jìn)程(任務(wù))的狀態(tài)監(jiān)控,項(xiàng)目列信息說明如下:
PID — 進(jìn)程id
USER — 進(jìn)程所有者
PR — 進(jìn)程優(yōu)先級
NI — nice值。負(fù)值表示高優(yōu)先級,正值表示低優(yōu)先級
VIRT — 進(jìn)程使用的虛擬內(nèi)存總量,單位kb。VIRT=SWAP+RES
RES — 進(jìn)程使用的、未被換出的物理內(nèi)存大小,單位kb。RES=CODE+DATA
SHR — 共享內(nèi)存大小,單位kb
S — 進(jìn)程狀態(tài)。D=不可中斷的睡眠狀態(tài) R=運(yùn)行 S=睡眠 T=跟蹤/停止 Z=僵尸進(jìn)程
%CPU — 上次更新到現(xiàn)在的CPU時間占用百分比
%MEM — 進(jìn)程使用的物理內(nèi)存百分比
TIME+ — 進(jìn)程使用的CPU時間總計(jì),單位1/100秒
COMMAND — 進(jìn)程名稱(命令名/命令行)
用戶空間和內(nèi)核空間
用戶空間對應(yīng)進(jìn)程,所以每當(dāng)進(jìn)程切換,用戶空間就會跟著變化;
而內(nèi)核空間是由內(nèi)核負(fù)責(zé)映射,它并不會跟著進(jìn)程變化,是固定的。內(nèi)核空間地址有自己對應(yīng)的頁表,用戶進(jìn)程各自有不同的頁表
用戶進(jìn)程能訪問多少物理內(nèi)存?內(nèi)核代碼能訪問多少物理內(nèi)存?
32位系統(tǒng)用戶進(jìn)程最大可以訪問3GB,內(nèi)核代碼可以訪問所有物理內(nèi)存。
64位系統(tǒng)用戶進(jìn)程最大可以訪問超過512GB,內(nèi)核代碼可以訪問所有物理內(nèi)存。
內(nèi)核空間和用戶空間是操作系統(tǒng)理論的基礎(chǔ)之一,內(nèi)核功能模塊運(yùn)行在內(nèi)核空間,
而應(yīng)用程序運(yùn)行在用戶空間
總結(jié)
以上是生活随笔為你收集整理的linux性能分析top iostat vmstat free,linux 性能篇 -- top用法(示例代码)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java责任链模式审批请假_Java使用
- 下一篇: java加锁多线程改为单线程_GUI为什