您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關jconsole及jvisualvm遠程監視websphere服務器JVM的配置示例分析,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
jconsole是JDK里自帶的一個工具,可以監測Java程序運行時所有對象的申請、釋放等動作,將內存管理的所有信息進行統計、分析、可視化。我們可以根據這些信息判斷程序是否有內存泄漏問題。
使用jconsole工具來分析WAS的JVM問題,需要進行相關的配置。
首先我們看WAS服務器端的配置.
1、登錄was控制臺https://10.4.119.18:9043/ibm/console/,找到自己的應用程序服務器---java和進程管理---進程定義--JAVA虛擬機,然后配置 通用JVM 參數 :
加入以下jvm參數:-Djavax.management.builder.initial= -Dcom.sun.management.jmxremote
注意:等號后面一定要保留空格,否則會報錯。
2、修改/usr/IBM/WebSphere/AppServer/java/jre/lib/management下的management.properties文件,在最后加入
com.sun.management.jmxremote.port=8999
com.sun.management.jmxremote.authenticate=false
com.sun.management.jmxremote.ssl=false
注意:先執行netstat -ano | grep 8999,查看這個端口是否被使用。另外注意防火墻對8999端口的配置,要放開,否則遠程機器可能連接不上.
3、設置jconsole遠程登錄的用戶名和密碼
在/usr/IBM/WebSphere/AppServer/java/jre/lib/management下有個jmxremote.password.template文件,在最后面加入你要設置的用戶名和密碼
root root@123 (用戶名、密碼,可以隨意修改)
4、在was控制臺上停掉自己的應用程序服務器,然后重啟。
WINDOWS客戶端的設置
1、進入JAVA所在的BIN目錄
2、輸入IP、端口號、用戶名和密碼進行遠程連接
3、監控界面可以看到內存、類、線程、CPU的使用情況。
使用這個工具再配合JCA工具就能很方便的分析內存溢出問題。
Java VisualVM也是JDK的一個集成的分析工具,自從JDK 6 Update 7以后已經作為Sun的JDK的一部分。VisualVM可以監控應用程序的性能和內存占用情況、監控應用程序的線程、進行線程轉儲(Thread Dump)或堆轉儲(Heap Dump)、跟蹤內存泄漏、監控垃圾回收器、執行內存和CPU分析,保存快照以便脫機分析應用程序;同時它還支持在MBeans上進行瀏覽和操作。 VisualVM自身要在JDK6以上的運行,但是JDK1.4以上版本的程序也能被它監控。
啟動方法:進入JAVA_HOME所在的bin目錄,運行jvisualvm.exe就可以啟動VisualVM
遠程連接WAS服務器的話,需要添加JMX連接方式就可以了
內存溢出的原因有很多種,比如:
1、數據量過于龐大;死循環 ;靜態變量和靜態方法過多;遞歸;無法確定是否被引用的對象;
2、虛擬機不回收內存(內存泄漏);
說白了就是程序運行要用到的內存大于虛擬機能提供的最大內存就發生內存溢出了。 內存溢出的問題要看業務和系統大小而定,對于某些系統可能內存溢出不常見,但某些系統還是很常見。
內存溢出的一般解決方法:
一個是優化程序代碼,如果業務龐大,邏輯復雜,盡量減少全局變量的引用,讓程序使用完變量的時候釋放該引用,能夠讓垃圾回收器回收和釋放資源。
二就是物理解決,增大物理內存,然后通過-Xms256m -Xmx2048m 的修改來增大內存空間。
上述就是小編為大家分享的jconsole及jvisualvm遠程監視websphere服務器JVM的配置示例分析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。