JDK為我們提供了可以監控伺服器效能的工具,例如JConsole、Java VisualVM,這裡講如果使用Java VisualVM遠程監控weblogic伺服器的效能(記憶體,線程,記憶體回收等)
通過這些指標可以觀察伺服器的運行狀態,分析錯誤原因,例如記憶體溢出等。
要使用VM監控伺服器記憶體變化,首先需要設定管理員啟動參數,進入weblogic安裝目錄,找到所在domain的bin檔案,開啟xx檔案:
在set JAVA_OPTIONS=%JAVA_OPTIONS%的後面加上以下配置內容: -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote.port=6001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
其中:+HeapDumpOnOutOfMemoryError的意思是說當伺服器發生記憶體溢出時會自動產生一個dump檔案。該檔案記錄伺服器崩潰原因,你可以通過該檔案分析問題。
再次:-Dcom.sun.management.jmxremote.port=6001指遠程監控的連接埠,務必保證該連接埠是可用連接埠。
其他:-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=falseg 禁用SSL
-Dcom.sun.management.jmxremote.ssl=false 禁用密碼驗證
配置完畢後,重啟服務。
開啟VM,VM在jdk安裝目錄的bin檔案下,全名是:jvisualvm.exe 也可以使用JConsole (最好使用jdk6以上的 功能強大)
主介面如下:
右鍵遠程,添加遠程主機:輸入主機IP,確定。
出現這個地址後,點擊右鍵,添加JMX串連,輸入IP和連接埠 點擊確定 注意這個連接埠不是DOMAIN連接埠,是設定檔中配置的連接埠
這樣,我們就可以遠程監控伺服器記憶體了。當然也可以監控原生記憶體變化。如圖: