CPU.xxx
cpu.idle
cpu.idle表示除硬盤IO等待時間以外其它等待時間,這個值越大,表示cpu越空閑,還可以執行更多的任務,反之亦然,此處我們falcon展示的是idle的波動情況,
cpu.busy
與cpu.idle相對,他的值等於100減去cpu.idle。
cpu.steal
cpu.steal表示被同一宿主機上的其他vm所占用的超出指定cpu配額的程度,例如一台宿主機中每台vm的cpu配額是25%,但是每個vm可以使用超過25%的真實cpu時間片,此時對於其他的vm來說就出現了cpu.steal。原因可能是你的虛擬機需要更多的cpu配額,此時要看是不是st在同一宿主所有的vm上都漲了;還有可能是物理宿主機超賣,此時要看是不是只有一部分vm的st陡增。
如圖可以看出午高峰和晚高峰steal會比較高。
load.xxx
此監控項集合包括1min,5min,15min的負載值,每一種又分為總的load和每個cpu的load,計算方法:
(讀取/proc/loadavg中的前三項值,分別為1min,5min,15min的總負載如load.1min ,每個cpu所占load(如load.1minPerCPU)就是總負載/cpu核數量)
命令行:cat /proc/loadavg
4.61 4.36 4.15 9/84 5662
參數 解釋
lavg_1 (4.61) 1-分鍾平均負載
lavg_5 (4.36) 5-分鍾平均負載
lavg_15(4.15) 15-分鍾平均負載
nr_running (9) 在采樣時刻,運行隊列的任務的數目,與/proc/stat的procs_running表示相同意思
nr_threads (84) 在采樣時刻,系統中活躍的任務的個數(不包括運行已經結束的任務)
last_pid(5662) 最大的pid值,包括輕量級進程,即線程。
假設當前有兩個CPU,則每個CPU的當前任務數為4.61/2=2.31
JVM
JVM相關指標 | 描述 |
---|---|
jvm.gc.count | GC的次數 |
jvm.gc.time | GC的時間,單位毫秒 |
jvm.younggc.count | 年輕代GC的次數 ,包括的GC算法(Copy,ParNew,PS Scavenge,G1 Young Generation) |
jvm.younggc.time | 年輕代GC的時間,單位毫秒 |
jvm.fullgc.count | 年老代GC的次數 ,包括的GC算法 |
jvm.fullgc.time | 年老代GC的時間,單位毫秒 |
jvm.memory.used | 內存使用總量 |
jvm.memory.used.percent | 內存使用總量占比 |
jvm.thread.count | JVM的線程數 |
jvm.thread.deadlock.count | deadlock線程數 |
JVM 內存 相關指標
JVM 內存指標 | 描述 |
---|---|
jvm.memory.used | 內存使用總量 |
jvm.memory.used.percent | 內存使用總量占比 |
jvm.memory.nonheap.used | nonheap使用總量 |
jvm.memory.nonheap.used.percent | nonheap使用總量占比 |
jvm.memory.oldgen.used | oldgen使用總量 |
jvm.memory.oldgen.used.percent | oldgen使用總量占比 |
jvm.memory.oldgen.used.percent.after.fullgc | 觸發fullgc之后使用oldgen的內存使用占比,此時基本剩下不可以回收對象 |
jvm.memory.eden.used | eden使用總量 |
jvm.memory.eden.used.percent | eden使用總量占比 |
jvm.memory.survivor.used | survivor使用總量 |
jvm.memory.survivor.used.percent | survivor使用總量占比 |
jvm.memory.perm.used | perm使用總量 |
jvm.memory.perm.used.percent | perm使用總量占比 |
jvm.nio.directbuffer.used | directbuffer使用總量,這個一般是nio一些框架會用到 |
jvm.nio.mapped.used | mapped使用總量,這個一般是使用java內存文件映射用到 |
nonheap:方法區,各個線程共享的內存區域,用於存儲已被虛擬機加載的類信息、常量、靜態變量、即時編譯器編譯后的代碼等數據。
perm:主要是存放靜態的類信息和方法信息,靜態的方法和變量,final標注的常量信息等
JVM Thread 相關指標
JVM Thread 相關指標 | 描述 |
---|---|
vm.thread.count | 線程 |
jvm.thread.daemon.count | daemon線程數 |
jvm.thread.totalstarted.count | totalstarted線程數 |
jvm.thread.new.count | new線程數 |
jvm.thread.runnable.count | runnable線程數 |
jvm.thread.blocked.count | blocked線程數 |
jvm.thread.waiting.count | waiting線程數 |
jvm.thread.time_waiting.count | time_waiting線程數 |
jvm.thread.terminated.count | terminated線程數 |
jvm.thread.deadlock.count | deadlock線程數 |
http://fangjian0423.github.io/2016/06/04/java-thread-state/
System 相關指標
System 相關指標 | 描述 |
---|---|
system.load.average | 系統load,如果是docker,此指標收集的物理機的load |
cpu.system.load.percent | 系統所有進程占用cpu的百分比 |
cpu.jvm.load.percent | jvm占用cpu的百分比 |
system.process.used.phyical.memory | 系統使用的物理內存 |
system.process.used.swap.size | 系統使用的swap內存 |
網絡
ss.estab
此監控項表示本機已建立的連接數,可以使用ss | grep ESTAB | wc -l 查看
數據獲取方式,在機器上執行命令:ss -s
TCP: 2837 (estab 89, closed 2672, orphaned 0, synrecv 0, timewait 2648/0), ports 647
ss.closed 表示已經關閉的TCP連接數(closed 2672)
ss.timewait 表示處於等待狀態的TCP連接數(timewait 2648)