websphere java和进程管理_jvisualvm/Jconsole监控WAS(WebSphere)中间件
1、登錄was控制臺https://196.168.119.18:9043/ibm/console/,找到自己的應用程序服務器---java和進程管理---進程定義--JAVA虛擬機,然后配置 通用JVM 參數
加入以下jvm參數:
-Djavax.management.builder.initial=
-Dcom.sun.management.jmxremote.port=7001
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
注意:等號后面一定要保留空格,否則會報錯。先執行netstat -ano | grep 7001,查看這個端口是否被使用。另外注意防火墻對7001端口的配置,要放開,否則遠程機器可能連接不上.
2、修改/usr/IBM/WebSphere/AppServer/java/jre/lib/management下的management.properties文件,在最后加入
com.sun.management.jmxremote.port=7001
com.sun.management.jmxremote.authenticate=false
com.sun.management.jmxremote.ssl=false
3、設置jconsole遠程登錄的用戶名和密碼在/usr/IBM/WebSphere/AppServer/java/jre/lib/management下有個jmxremote.password.template文件,在最后面加入你要設置的用戶名和密碼
root root@123 (用戶名、密碼,可以隨意修改)
備注:(第二、三步,我在實際操作中,沒有配置也是可以連接的)
4、在was控制臺上停掉自己的應用程序服務器,然后重啟。
進入JAVA_HOME所在的bin目錄,運行jvisualvm.exe或Jconsole.exe就可以啟動遠程連接WAS服務器的話,需要添加JMX連接方式就可以了
分析:
內存溢出的原因有很多種,比如:
1、數據量過于龐大;死循環 ;靜態變量和靜態方法過多;遞歸;無法確定是否被引用的對象;
2、虛擬機不回收內存(內存泄漏);說白了就是程序運行要用到的內存大于虛擬機能提供的最大內存就發生內存溢出了。
內存溢出的問題要看業務和系統大小而定,對于某些系統可能內存溢出不常見,但某些系統還是很常見。
內存溢出的一般解決方法:
一個是優化程序代碼,如果業務龐大,邏輯復雜,盡量減少全局變量的引用,讓程序使用完變量的時候釋放該引用,能夠讓垃圾回收器回收和釋放資源。
二就是物理解決,增大物理內存,然后通過-Xms256m -Xmx2048m 的修改來增大內存空間。
總結
以上是生活随笔為你收集整理的websphere java和进程管理_jvisualvm/Jconsole监控WAS(WebSphere)中间件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java int parse_java中
- 下一篇: java 二叉堆_二叉堆(三)之 Jav