文档章节

jvisualvm 远程监控 JVM

OrangeJoke
 OrangeJoke
发布于 2016/05/25 18:37
字数 549
阅读 72
收藏 0

环境

java -version:
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)

uname -a:
Linux 3.16.0-70-generic #90~14.04.1-Ubuntu SMP Wed Apr 6 22:56:34 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

准备工作

第一次接触的同学可以先看一下这个入门指南

第一步:client启动 jvisualvm

jvisualvm

第二步:server主机上启动 jstatd

看名字都知道和 jstat (d 就是 Daemon 的意思) 命令有关。 jstatd 是一个RMI server应用,目的是在本机上建立对JVM 的监控,同时提供接口给远程的主机监控本地JVM的信息。

怎样启动jstatd

第三步:为client jvisualvm 添加远程主机

输入图片说明

!关于安全问题

这是比较重要的部分,因为 jstatd 默认能监控和启动jstatd 相同用户的JVM(同一用户). 另外在linux中root 启动的 jstatd 可以查看所有jvm.

对于远程连接至 jstatd 服务的client, jstatd 服务端是没有提供任何认证的。example:

输入图片说明

所以在生产环境肯定是需要提供可靠的认证过程:

The jstatd server installs an instance of RMISecurityPolicy if no other security manager has been installed and therefore requires a security policy file to be specified. The policy file must conform to the default policy implementation's Policy File Syntax.

The following policy file will allow the jstatd server to run without any security exceptions. This policy is less liberal then granting all permissions to all codebases, but is more liberal than a policy that grants the minimal permissions to run the jstatd server.

grant codebase "file:${java.home}/../lib/tools.jar" {

   permission java.security.AllPermission;

};

To use this policy, copy the text into a file called jstatd.all.policy and run the jstatd server as follows:

jstatd -J-Djava.security.policy=jstatd.all.policy

更多的信息可能需要大家从ORACLE官网获取,查看下面的参考信息,由于官方建议直接在目标机器上使用_jstat_查看堆,垃圾回收等信息,而且本人也更倾向于这种方式。所以不再深入研究 policy 的问题。对_jstat_感兴趣的同学可以查看下面的参考。

参考:

csdn

jvisualvm

RMI

jstatd

jstat

© 著作权归作者所有

下一篇: 动态链接
OrangeJoke
粉丝 40
博文 57
码字总数 39185
作品 0
江北
高级程序员
私信 提问
加载中

评论(1)

会心一击
会心一击
图太多
Ubuntu下使用Java visualVM对Java程序进行性能分析

使用Java visualVM的原因:   体积小,不耗内存,操作简单,功能全。关于Java visualVM和其他性能测试工具的比较,网上有很多文章,去搜搜看吧。 1. 在服务器上配置jstatd的security poli...

摆渡者
2014/02/28
463
0
使用JDK自带jvisualvm监控tomcat

jdk自带有个jvisualvm工具、该工具是用来监控java运行程序的cpu、内存、线程等的使用情况。并且使用图表的方式监控java程序、还具有远程监控能力。不失为一个用来监控tomcat的好工具。 在jdk...

书一
2013/08/27
35K
16
VisualVm jstatd方式连接远程虚拟机

1、在$JAVA_HOME/bin 下创建一个新文件 jstatd.all.policy,编辑该文件,填入内容: grant codebase"file:${java.home}/../lib/tools.jar"{ permission java.security.AllPermission; }; 2、......

宸明
2018/08/23
194
0
Tomcat配置Jconsole , JvisualVm 监控配置

Java内置有jconsole监控工具,可以监控CPU、内存、线程、类加载等信息,但以服务方式启动的tomcat不能被jconsole识别,在网上查找了一通,发现可以通过配置JAVA_OPTS方式启动RMI远程监控接口...

Sobey
2016/03/11
193
0
使用JMX透过防火墙远程监控tomcat服务

JDK的bin目录下有jvisualvm或jconsole可以监控本地和远程jvm实例的运行动态(包括cpu,内存等), 对于性能分析或内存泄露分析等极其方便。下面介绍如何通过这两个工具远程监控有防火墙的lin...

javasql
2012/07/04
7K
2

没有更多内容

加载失败,请刷新页面

加载更多

shangcheng-my

1.数据库主键、外键类型为bigint,那么在后台应该用什么类型的变量定义? 后台用string接收,因为前段传过来的一般都是json字符串,后台直接接收,mysql是可以吧数字类型的字符串转换为对应的...

榴莲黑芝麻糊
昨天
4
0
微服务架构依赖图

基于spring-cloud-alibaba + dubbo

龙影
昨天
5
0
Centos7 安装zabbix-agent

rpm -i https://repo.zabbix.com/zabbix/4.2/rhel/6/x86_64/zabbix-release-4.2-2.el6.noarch.rpm 可以到https://repo.zabbix.com/zabbix找到对应的版本 yum install zabbix-agent -y 出现E......

abowu
昨天
8
0
文本编辑器GNU nano 4.4 发布

GNU nano 4.4 "Hagelslag" 更新日志: 启动时,光标可以放在第一个或最后一个出现位置 字符串前面带有+/string 或 +?string的字符串。 发生自动硬包装时((--breaklonglines),任何前导引号...

linuxCool
昨天
7
0
你知道字节序吗

字节序 最近在调一个自定义报文的接口时,本来以为挺简单的,发现踩了好几个坑,其中一个比较“刻骨铭心”的问题就是数据的字节序问题。 背景 自定义报文,调用接口,服务端报文解析失败 iO...

杭城小刘
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部