远程监视jboss应用java内存的配置(实测) .
前言
因为最近一个项目部署在客户那边运行一个月左右就会出现java内存溢出的问题,为了时时监控java内存的情况需要,需要远程查看服务器上java内存的一些情况。在公司模拟部署了远程监视linux下项目运行的情况。
一、简单介绍两个jdk1.6自带的可视化监视工具
Jconsole:Java 6.x采用JMX方式提供了一系列监视和管理虚拟机的API,随SDK一起发布的JConsole则是采用这些API实现监控虚拟机的使用工具。 JConsole能够提供被监控虚拟机的内存、线程、类的加载以及MBean等信息,从而能够对服务器的运行情况进行实时监控。
JVisualVM: 是Netbeans的profile子项目,已在JDK6.0 update 7 中自带(java启动时不需要特定参数,监控工具在bin/jvisualvm.exe),能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)。
二,如果是win系列的电脑查看本机的内存情况,直接找到jdk的安装路径双击上面提到的可视化监视工具即可
三,如果是想监视远程的java内存的情况可要做一些相应的配置
- 运行环境
服务器:Redhat6.0 + JDK 1.6+ Jboss 5.1
ip地址:192.168.1.250
客户机:Windows + JDK 1.6
2. 不带用户名密码的参数配置(很简单),只需要修改jboss中bin下的run.sh。在该句下边添加上红色字迹的部分即可
JAVA_OPTS="-Dprogram.name=$PROGNAME $JAVA_OPTS"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9999"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.1.250"
注意:
1、9999表示监控的端口号,确保指定的端口不被占用;
2、可以采用netstat -an来查看已经占用的端口;
3、配合lsof -i:portnum 来查看占用端口的具体应用程序;
4、另外如果开启了防火墙服务,请确保端口能够透过防火墙访问;
5、192.168.1.250为当前服务器的IP;
3. 启动JBoss服务器
./run.sh -b 192.168.1.250 & 必须通过-b参数指定Jboss服务器绑定的地址;
允许所有用户连接 则为 -b 0.0.0.0
4, 连接远程虚拟机
启动本机%JAVA_HOME%\bin目录下的JConsole,
在弹出对话框的“远程进程:”一栏中,输入192.168.1.250:9999,然后点击“连接”,如下图所示:
附加:带用户名密码的参数配置
一,修改jboss中bin下的run.sh。在该句下边添加上红色字迹的部分
JAVA_OPTS="-Dprogram.name=$PROGNAME $JAVA_OPTS"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9999"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.1.250"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.password.file=/usr/java/jdk1.6/jre/lib/management/jmxremote.password"
注意 $JAVA_HOME/jre/lib/management/jmxremote.password 中 jmxremote.password是由原来的jmxremote.password.template复制一份得到,
去掉 monitorRole QED前面的# 如果不做修改 登入的用户名:monitorRole 密码:QED (可根据需要修改用户名密码,但是如果做修改也要同
是修改jmxremote.access中的相对应名字的权限
二,如果启动过程中出现这个问题或者错误
则是因为jmxremote.password 的权限问题 在该文件路径下执行:chmod 600 jmxremote.password
重新按照3启动项目即可。
四,对于JVisualVM而言在 树结构的 Remote中添加远程ip,然后右键该ip添加JMX链接添加上端口号和用户名密码即可链接成功,如图所示:
远程监视jboss应用java内存的配置(实测) .的更多相关文章
- 远程监视jboss应用java内存的配置
前言 因为最近一个项目部署在客户那边运行一个月左右就会出现java内存溢出的问题,为了时时监控java内存的情况需要,需要远程查看服务器上java内存的一些情况.在公司模拟部署了远程监视linux下项 ...
- Java内存回收优化及配置
原文链接:http://eol.cqu.edu.cn/eol/jpk/course/preview/jpkmaterials_folder_txtrtfview.jsp?resId=23156& ...
- JAVA JVM常见内存参数配置简析
JVM常见内存参数配置简析 常见参数 -Xms .-Xmx.-XX:newSize.-XX:MaxnewSize.-Xmn(-XX:newSize.-XX:MaxnewSize) 简析 1.-Xm ...
- JVM参数配置 java内存区域
java内存区域 一些基本概念 http://www.importnew.com/18694.html https://www.cnblogs.com/wangyayun/p/6557851.html ...
- Java内存泄露监控工具:JVM监控工具介绍
本文将对JVM监控工具jstack, jconsole, jinfo, jmap, jdb, jstat进行详细的介绍,具体内容请看下文 Sun JDK监控和故障处理工具 名称 主要作用 jps JV ...
- IDEA安装使用 VisualVM 及VisualVM 远程监视
1. VisualVM是什么 按照VisualVM官网(http://visualvm.github.io/)上的介绍,VisualVM是一个集成命令行JDK工具和轻量级分析功能的可视化工具.专为开发 ...
- Java内存泄露监控工具:JVM监控工具介绍【转】
jstack?-- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程 ...
- java内存溢出分析工具:jmap使用实战
在一次解决系统tomcat老是内存撑到头,然后崩溃的问题时,使用到了jmap. 1 使用命令 在环境是linux+jdk1.5以上,这个工具是自带的,路径在JDK_HOME/bin/下 jmap -h ...
- 如何排查Java内存泄漏?看完我给跪了!
没有经验的程序员经常认为Java的自动垃圾回收完全使他们免于担心内存管理.这是一个常见的误解:虽然垃圾收集器做得很好,但即使是最好的程序员也完全有可能成为严重破坏内存泄漏的牺牲品.让我解释一下. 当不 ...
随机推荐
- Windows系统下JAVA开发环境搭建
首先我们需要下载JDK(JAVA Development Kit),JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库. 下载地址:http://www.or ...
- BUILD FAILED D:\build.xml:2: 前言中不同意有内容。
1.错误描写叙述 Microsoft Windows [版本号 6.1.7601] 版权全部 (c) 2009 Microsoft Corporation. 保留全部权利. C:\Users\Admi ...
- 【Android】自己定义View、画家(画布)Canvas与画笔Paint的应用——绘图、涂鸦板app的实现
利用一个简单的绘图app来说明安卓的图形处理类与自己定义View的应用. 例如以下图,有一个供用户自己随意绘图.涂鸦的app. 这里不做那么花俏了,仅提供黑白两色.但能够改变笔尖的粗细. 实质上这里的 ...
- JPA測试实例
依赖架包 实体 import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.G ...
- list-style样式不显示问题
<li> display要使用 list-item ,不要使用block,要不然会造成不显示的问题.
- GeHost powershell
PS C:\Users\clu\Desktop> [System.Net.Dns] | Get-Member -Static | Format-Table -AutoSize TypeName: ...
- 【Dairy】2016.11.5
橘子洲一游
- POJ2749 Building road
传送门 这道题真是2-SAT好题啊!!卡了我两个点才做完……垃圾POJ还不告诉我哪错了…… 首先我们先花一段时间把题看懂……(其实是翻译一下),之后我们发现因为每个谷仓只能向一个中转点连边,所以他就是 ...
- CodeFirst建模:DataAnotation
示例一 新建一个控制台应用程序,并安装entityframework 新建一个文件Blog.cs类,输入以下代码: using System.ComponentModel.DataAnnotation ...
- 杂项-公司:Sun
ylbtech-杂项-公司:Sun Sun Microsystems是IT及互联网技术服务公司(已被甲骨文收购)Sun Microsystems 创建于1982年.主要产品是工作站及服务器.1986年 ...