1、使用Tomcat自帶的Status頁進行監控java
修改tomcat-users.xml(tomcat安裝目錄下conf文件夾內)windows
在tomcat-users中添加代碼:數組
修改完後重啓tomcat,打開localhost:8080進入主頁面;點擊Server Status 輸入密碼後進入Server Status頁面tomcat
Status頁面主要包括三部分信息:JVM、HTTP、jk服務器
JVM(Java虛擬機):包括一套字節碼指令集、一組寄存器、一個棧、一個垃圾回收堆和一個存儲方法域負載均衡
JVM屏蔽了與具體操做系統平臺相關的信息,使Java程序只需生成在JAVA虛擬機上運行的目標代碼(字節碼),就能夠在多個平臺上不加修改的運行;JVM在執行字節碼時,仍是把字節碼解釋成具體平臺上的機器指令執行。socket
Free memory:空閒內存大小 Total memory:總內存大小 Max memory:最大內存大小函數
HTTP:工具
Max threads: 最大線程數 優化
Current thread count: 最近運行的線程數
Current thread busy: 正在運行的線程數
Keep alive sockets count: 0
Max processing time:最大CPU時間
Processing time: CPU消耗總時間
Request count: 請求總數
Error count: 錯誤的請求數
Bytes received: 接收字節數
Bytes sent: 0.00 MB:發送字節數
請求階段:
P:正準備發送的請求;
S:請求正在服務器端處理
F:已經完成的請求
R:即將發送的請求
K:當前活動的請求
Jk:顯示信息與http相同,jk是Apache鏈接tomcat的一個模塊,支持集羣和負載均衡
2、使用Java管理擴展監測工具Jconsole進行監控
Java根目錄下的Jconsole文件,直接點擊運行;可爲Jconsole路徑設置環境變量
C:\Program Files\Java\jdk1.8.0_121\bin
啓動Jconsole程序的方式有兩種:帶參數的啓動,不帶參數的啓動
不帶參數的啓動將彈出對話框:
帶參數啓動又分爲監控本地進程和遠程進程
本地監控的命令格式:Jconsole processID (processID指應用程序進程的ID,PID;windows系統能夠在任務管理器查找正在運行的java實例的PID)
遠程監控的命令格式:Jconsole 主機名 portNum(portNum是啓動Java虛擬機時指定的JMX代理的端口號)
Jconsole 自己需消耗大量的系統資源,生產環境中不推薦在本地監視
java監控器控制檯:
監控的內容主要包括:概述、內存監控、線程監控、類監控、VM摘要、MBean
1) 概述
2) 內存監控
內存監控信息主要提供了內存消耗和內存池的信息
內存消耗有兩類:堆和非堆內存;這兩種內存是Java虛擬機管理的兩種內存,都是java虛擬機啓動時建立的
堆內存:堆內存是運行時數據區域,java VM的全部類實例和數組分配內存,多是固定或可變大小的堆
非堆內存:包括在全部線程和Java虛擬機內部處理或優化所需的共享的方法。他存儲了類的結構、運行常量池、字段和方法數據以及方法和構造函數的代碼,方法區在邏輯上是堆的一部分,看具體實現的方式。
3) 線程監控
線程數視圖動態的顯示了當前的活動線程數:當前活動線程數和峯值線程數
4) 類監控
5) VM摘要
6) MBean
三、使用LambdaProbe進行監控