使用visualvm远程监控LINUX服务器JVM

使用visualvm远程监控LINUX服务器JVM

一、JMX方式:

1. 首先要修改JDK中JMX服务的配置文件,以获得相应的权限:

进入$JAVA_HOME所在的根目录的/jre/lib/management子目录下,
a. 将jmxremote.password.template文件复制为jmxremote.password
b. 调整jmxremote.access和jmxremote.password的权限为只读写,可以使用如下命令
chmod 600 jmxremote.access jmxremote.password
c. 打开jmxremote.password文件,去掉

# monitorRole QED
# controlRole R&D

这两行前面的注释符号

2. 启动参数

在需要监听的程序上启动参数带上以下参数

-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=[hostIp]

-Dcom.sun.management.jmxremote.port:这个是配置远程connection的端口号的,要确定这个端口没有被占用
-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false:这两个是固定配置,是JMX的远程服务权限的
-Djava.rmi.server.hostname:这个是配置server的IP的,要使用server的IP最好在机器上先用hostname   –i看一下IP是不是机器本身的IP,如果是127.0.0.1的话要改一下,否则远程的时候连不上,目前我们的server上我已经都改好了  
3. Windows客户端配置

JDK自带visualvm,只需要进到bin目录下启动即可
启动后页面比较简洁,配置也很简单:

a. 点击左侧菜单的add Remote host,输入server的IP,然后再advanced settings里配置端口(注意这个端口要和server上的端口一致)

b. 右击刚才配置的IP,选择JMX connection方式,再次输入端口,就可以监视到JVM资源了

二、 Jstatd方式:

1. 在服务器上的java安装的bin下(如/usr/local/java/jdk1.8.0_91/bin)新建一个文件

文件名为jstatd.all.policy
文件内容如下

grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
2. 在当前目录中(bin)执行如下命令
./jstatd -J-Djava.rmi.server.hostname=[hostIp] -J-Djava.security.policy=jstatd.all.policy -p 1100

命令中的hostname是服务器的IP地址,-p是端口,这两项需要自己指定(网上使用默认IP地址和端口的命令,但我尝试了无法生效)。如果不指定端口。那么端口的默认值为1099。执行完毕后,使用telnet命令测试端口是否被监听。 如果一切正常, 说明jstatd服务已经配置成功了。

3. Windows客户端配置

在电脑上打开visual vm软件,右击左侧菜单中的「远程」菜单项,输入目标服务器IP地址添加一个远程主机。 然后再右击新加的主机菜单项, 在弹出的菜单中选择「添加jstatd连接」。 在弹出的对话框中的文本框中输入在第二步配置中指定的端口号(默认是1099)

注意: JMX方式启动不能使用Visual GC插件,jstatd方式可以使用但CPU视图不可以使用,因此可以结合两者一起使用,首先启用jstatd使用端口1099,再在需要监听的应用上启用JMX使用另外的端口

原文地址:https://www.cnblogs.com/chenvi/p/8289432.html

时间: 2024-10-12 13:00:55

使用visualvm远程监控LINUX服务器JVM的相关文章

Java VisualVM远程监控JVM

VisualVM是一个以监控.显示本地或者远程服务器JVM工作情况,进行性能调优的工具.借助VisualVM,我们可以实现对JVM内存各个子池.CPU.垃圾收集器等方面进行监控,从而发现程序代码中潜在的泄露点和配置问题. 远程监控Linux JVM有两种连接方式: CentOS6.5安装:yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel Ubuntu12.04安装:sudo apt-get install java-7-openjdk

Jconsole远程监控tomcat 的JVM内存(linux、windows)

Jconsole是JDK自带的监控工具,在JDK/bin目录下可以找到.它用于连接正在运行的本地或者远程的JVM,对运行在java应用程序的资源消耗和性能进行监控,并画出大量的图表,提供强大的可视化界面.而且本身占用的服务器内存很小,甚至可以说几乎不消耗,不失为一款好工具. -------------Jconsole监视远程的linux服务器上的tomcat ----------------------------- 环境:服务器端: Linux + jdk1.60 + tomcat 7客户端:

转载:JProfiler远程监控LINUX上的Tomcat过程细讲

来源于xuwanbest的博客 所谓"工欲善其事,必先利其器",好的工具确能起到事半工倍的作用.我用到的最多的就两个JConsole 和JProfiler .JConsole监控系统内存变化情况,如果有内存溢出的话,垃圾回收将会呈现锯齿状.发现问题以后,使用JProfiler,在小压力(或无压力)的情况下监控对象变化,定位内存溢出原因. JProfiler是一款Java的性能监控工具.可以查看当前应用的对象.对象引用.内存.CPU使用情况.线程.线程运行情况(阻塞.等待等),同时可以查

VisualVM 远程监控

VisualVM 远程监控        1. 通过jstatd启动RMI服务        配置java安全访问,将如下的代码存为文件 jstatd.all.policy,放到JAVA_HOME/bin中,其内容如下,        grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; };                      执行命令jstat

widows本地-xshell实现远程连接linux服务器图形界面

本地环境远程连接linux图形界面,常用的实现工具有,VNC.Puty.Xshell等,这里我们用的xshell manager: Xmanager简介:Xmanager是一个运行于 Windows平台上的高性能的X Server软件.它能把远端Unix/Linux的桌面无缝地带到你的Windows上,甚至电脑是在内网或防火墙后,也能通过SSH协议安全的运行远端的X应用程序. 特点包括: 可通过Xcongfig工具设置多个Xmanager设置: 支持多用户的Windows终端环境: 支持多个IP

远程连接Linux服务器

远程连接Linux服务器一般使用ssh方式. 1.Linux系统下连接远程Linux服务器可以直接使用ssh命令. 格式如下: ssh [email protected]192.168.1.1 root对应你使用的用户名,192……对应的服务器ip地址,一般服务器端口22,命令默认22,如果需要更改端口在ssh后面 -p 端口. 2.Windows系统下连接Linux服务器一般需借助PuTTY, Xshell, SSH Secure Shell Slient,SecureCRT.

实时监控Linux服务器用户操作命令

在/etc/profile 追加 export HISTORY_FILE=/var/log/history/userhistory.log readonly PROMPT_COMMAND='{ date "+%y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$NF}")  #### $(id|awk "{print \$1}") #### $(his

使用OpenSSH远程管理Linux服务器

一.使用OpenSSH远程管理Linux服务器 sshd是OpenSSH的服务器端守护进程,与之对应的Windows下客户端软件有SecureCRT/Xshell/PuTTY等. OpenSSH一般为默认安装在Linux系统中,安装目录为/etc/ssh.对应的服务器配置文件为/etc/ssh/sshd_config,配置文件中各选项的含义如下: 对sshd_config文件配置完毕,重启sshd守护进程,使修改生效(命令为:systemctl restart sshd); 最后一步是设置ssh

Snmp 方式监控linux服务器

Snmp 方式监控linux服务器 一.  被监控端修改 shell#yum install net-snmp –y shell# mv /etc/snmp/snmpd.conf  /etc/snmp/snmpd.conf.bak shell# vim /etc/snmpd/snmpd.conf com2sec mynetwork 10.0.2.161 public  #这里写服务端的ip,表示允许这台机器访问你的snmp,如果default就是默认全部都可以访问. group MyROGrou