用jmeter進行性能測試的時候,top命令是最方便可用的服務器監控命令,可以看出服務器的當前負載量,CPU占用率,內存占用率等重要信息,下面詳細解說一下top命令里面的各個指標。
top命令詳解:
UP :時間格式為分,如上圖表示已經運行1566天23小時49分鍾。能夠較好的反映當前系統的高可用性。
users:表示當前的用戶數,如圖表示6個用戶登錄該系統。
load average:表示服務器的負載情況,分別指1分鍾,5分鍾,15分鍾內的負載量,
load指標說明:
load<0.7*processor(CPU線程數) 表示當前系統運行良好
1*processor<load<3*processor,需要參考內存、CPU、網絡和IO等指標
load>5*processor 表示負載過大
實時負載通過r+d來計算
Tasks:
1、total :當前系統的總線程數
2、running:當前系統正在運行的線程數
3、sleeping:當前系統阻塞的線程數
CPU:
- US:用戶態CPU使用率
- SY:內核態CPU使用率
- ni:用戶進程空間改變過優先級的進程CPU占用率
- id:空閑的CPU
- wa:等待輸入輸出IO使用CPU占比(wa:使用過高時,要考慮IO的性能是否有瓶頸,可以使用iostat,sar命令進一步分析)
- hi:硬中斷占用CPU百分比
- 可以使用命令查看硬件中斷 cat /proc/interrupts > hil.txt;sleep 2;cat /proc/interrupts > hi2.txt vimdiff hil.txt hi2.txt
- 也能使用/proc/interrupts > hil.txt;sleep 2;cat /proc/interrupts > hi2.txt 然后使用vim查看hi1.txt 然后切換到vim的命令行下vsplit hi2.txt
- hi:使用率過高時,表示當前硬件中斷占用很大的百分比。一般硬件中斷可以分析文件/proc/interrupts,/proc/irq/pid/smp_affinity、服務irqbalance是否配置,以及CPU的頻率設置,通過這些可以幫助系統打散優化系統的硬件中斷
7.si:軟中斷占用CPU百分比
- 從網卡過來的數據包多(收發包多),如果si高則看網絡收發包高的進程
- Linux kernel通過一種軟件的方法來模擬硬件中斷模式,是為軟中斷。常見的一般軟中斷一般都是和網絡相關,從網卡到IP層的數據報文收發都是由軟件中斷來處理的,長時間的寫日志也可能產生軟中斷
- 當軟件中斷出現瓶頸時,系統有個進程ksofttirqd,每個CPU都有自己對應的ksofttirqd/n(n為CPU的邏輯ID),每個ksofttirqd的內核線程都會去運行對應的ksofttirqd()函數來處理自己的中斷隊列上的軟件中斷,所以當網絡出現阻塞的時候,軟件中斷程序ksofttirqd肯定出現瓶頸。可以通過ps命令查看進程ksofttirqd的使用信息 ps aux|grep ksofttirqd
8.st:虛擬機使用CPU占用率。一個宿主機下存在多個虛擬機時,比較忙的虛擬機會搶占比較空閑的虛擬機資源
9.CPU(S):CPU占用率的平均值。