天天看點

java程式性能調試

之前在做一個項目時,遇到了cpu占用100%的問題。原因是引用資料庫的jdbc驅動包與服務使用的某個類産生了沖突,導緻死鎖。

調查該問題時用到了一個工具,JDK自帶java程式性能分析工具jconsole,可以用來檢視本地或遠端服務的java程式的性能及運作狀況,位置在JDK的bin目錄下的jconsole.exe。

啟動後會顯示本機啟動的java程序,連接配接一個java程序,回顯出來目前進行中啟動的線程、CPU、記憶體等系統資訊;

如果是需要調試遠端伺服器上的java服務,就需要在啟動java服務時追加一些參數:

-Dcom.sun.management.jmxremote

-Dcom.sun.management.jmxremote.port=1088

-Dcom.sun.management.jmxremote.authenticate=false

-Dcom.sun.management.jmxremote.ssl=false

-Djava.rmi.server.hostname=172.16.13.114

這相當于是在114這台機器上起了一個新端口1088,遠端連接配接時使用jconsole