本地jvisualvm通过jstatd远程监控GC
1.查找jdk路径
[root@xxx ~]# which java
/data/soft/jdk1.8.0_221/bin/java
2.进入jdk的bin目录下添加指定安全策略文件,注意jdk路径要改成自己对应的路径
[root@xxx ~]# cd /data/soft/jdk1.8.0_221/bin
[root@xxx bin]# vim jstatd.all.policy grant codebase "file:/data/soft/jdk1.8.0_221/lib/tools.jar" {
permission java.security.AllPermission;
};
3.jstatd.all.policy文件创建完成后,我们先在前台执行启动命令,并打开日志,确认配置无误。第一次启动推荐这样做,后面确认配置无误后,需要切换为后台启动,并且不打印日志信息。
# 前台启动并打印日志
[root@xxx bin]# ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=47.142.158.25 -J-Djava.rmi.server.logCalls=true
# 后台启动并且不打印日志
[root@xxx bin]# ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=47.142.158.25 &
-J-Djava.security.policy 安全策略文件的路径
-J-Djava.rmi.server.hostname 启动时的本机地址,因为我们要远程访问,所以这里要填机器的公网IP。
如果没有此参数就会以/etc/hosts里的地址进行启动,那里的ip映射一般不会是公网IP,所以也就不能远程访问了,当然你直接修改/etc/hosts文件中的ip地址也行,但这样有可能会影响到其他的应用。
-J-Djava.rmi.server.logCalls 启动时是否开启日志,默认为false。第一次启动的时候最好打开,以确定能够正常访问。后面真正使用的时候,就不要使用此参数了。
另外,启动的默认端口是1099,如果需要修改启动端口,则加上-p参数,例如:
[root@xxx bin]# ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=47.142.158.25 -p 10099 -J-Djava.rmi.server.logCalls=true
4.检查端口开放,jstatd启动后不只使用了1099这个端口,还会启动一个随机端口,所以实际上需要开放两个端口。
[root@xxx bin]# netstat -antup|grep jstatd
tcp 0 0 0.0.0.0:1099 0.0.0.0:* LISTEN 18490/./jstatd
tcp 0 0 0.0.0.0:34476 0.0.0.0:* LISTEN 18490/./jstatd
我们看到,jstatd启动后使用了1099和34476端口,所以这两个端口都需要开放。
端口开放有两个地方需要检查,一是机器本身的防火墙端口开放,二是云服务器(如果有)的安全组策略。
5.查看jstatd是否启动成功
[root@xxx bin]# ./jps -l
6318 org.apache.catalina.startup.Bootstrap
25135 sun.tools.jps.Jps
这里就能看到jstatd能够监控的java进程。
6.启动本地jvisualvm进行远程连接,到本地机器的jdk目录下找到jvisualvm.exe,并进行远程连接。
在“远程”上右键鼠标,然后“添加远程主机”。
在“主机名”里填上你要监控的远程主机公网IP地址,“显示名称”起个自己好记的名字就好。填好了就点击“确定”。
此时在远程主机下就会列出所有的java进程,我们双击需要监控的进程,切换到“Visual GC”标签页,就能实时查看远程进程的GC过程了。
ps:第一次配置的话,需要将jvisualvm重启一下,这样远程主机才连接的上。之后再增加远程主机就不需要再重启了。
pps:如果是第一次使用jvisualvm,那还需要安装Visual GC插件。这个网上有很多教程了,搜一下就ok。
7.连接到远程主机后,有可能显示“不受此JVM支持”,出现这种情况是因为启动应用程序的用户和启动jstatd的用户不一致导致的,所以只要切换到应用程序用户,然后重启jstatd即可。
本地jvisualvm通过jstatd远程监控GC的更多相关文章
- jvisualvm 连接 jstatd 远程监控 jvm 或 Visual GC提示"不受此JVM支持“
Visual GC提示"不受此JVM支持",可以使用此方法解决. 一.添加配置文件 jstatd.all.policy [root@localhost /]# cd /usr/lo ...
- jvisual中添加jstatd远程监控
visualVM远程监控: jvisual中需要增加插件安装. 在执行Java 应用程序的服务器上先生成一个jstatd.all.policy grant codebase "file:${ ...
- VisualVM使用Jstatd和JMX远程监控配置(转载)
一.Jstatd远程监控服务器配置 jstat可以实时显示本地或远程JVM进程中类装载.内存.垃圾收集.JIT编译等数据.如果要显示远程JVM信息,需要远程主机开启RMI支持,详情如下: 1. 在JA ...
- Jstatd方式远程监控Linux下 JVM运行情况
前言 最近一个项目部署在服务器上运行时出现了问题,经过排查发现是java内存溢出的问题,所以为了实时监控服务器java内存的情况,需要远程查看服务器上JVM内存的一些情况.另外服务器系统是CentOS ...
- jvisualvm远程监控Tomcat
网上已经有很多这方面的资料,但有些很杂乱,这里做了整理总结. 一.Java VisualVM 概述 对于使用命令行远程监控jvm 太麻烦 . 在jdk1.6 中 Oracle 提供了一个新的可视化的. ...
- JVisualVM远程监控
本文主要转自:http://blog.iamzsx.me/show.html?id=394002 http://www.wl566.com/wz/64022.html 1. 通过JMX方式监控远程li ...
- Java虚拟机二:使用jvisualvm工具远程监控tomcat内存
jdk中自带了很多工具可以用于性能分析,位于jdk的bin目录下,jvisualvm工具可以以图形化的方式更加直观的监控本地以及远程的java进程的内存占用,线程状态等信息. 一.配置tomcat 在 ...
- 使用jvisualvm远程监控tomcat(阿里云ECS)
写在前面: 使用jvisualvm远程监控tomcat(阿里云ECS),连接是报错:service:jmx:rmi:////jndi/rmi:IP:端口// 连接到 IP:端口,网上找了很多资料, ...
- 使用Xshell+Xmanager远程监控jvisualvm
使用jvisualvm的remote方式监控服务器端jvisualvm时,不是很方便,因此通过local方式,应该是正路. 一.服务器端(Linux,最小安装模式,没有图形界面) 1.安装xauth ...
随机推荐
- CF832D题解
题目传送门 Description 给定一棵树上的三个点 \(a,b,c\),你要制定两条起点和终点都在这三个点中的路径,使得两条路径重叠的节点最多. Solution 感觉我的方法和大众不同,显然是 ...
- 如何让win10开机默认开启小键盘?
如何让win10开机默认开启小键盘? windows10默认是关闭小键盘的.每次输入开机密码的时候都需要按一下小键盘开启键(numlock),才能按数字键 一.运行注册表编辑器,修改InitialKe ...
- Send Excerpts from Jenkins Console Output as Email Contents
Sometimes we need to send some excerpts from Jenkins console output (job logs) as email, such as tes ...
- ACM学习笔记:二叉堆
title : 堆 date : 2021-8-3 tags : ACM,数据结构 什么是堆 堆是一棵具有特定性质的二叉树,堆的基本要求是堆中所有结点的值必须大于等于(或小于等于)其孩子结点的值,这也 ...
- 【笔记】初探KNN算法(3)
KNN算法(3) 测试算法的目的就是为了帮助我们选择一个更好的模型 训练数据集,测试数据集方面 一般来说,我们训练得到的模型直接在真实的环境中使用 这就导致了一些问题 如果模型很差,未经改进就应用在现 ...
- 基于Vue2和Node.js的反欺诈系统设计与实现
最近包工头喊农民工小郑搬砖,小郑搬完砖后沉思片刻,决定写篇小作文分享下,作为一个初学者的全栈项目,去学习它的搭建,到落地,再到部署维护,是非常好的. ------题记 写在前面 通过本文的学习,你 ...
- noip28
东方专场? T1 %%%WYZG 话说我考场上还想二维hash来着 考虑只记录弹幕中x的相对位置. 先选定弹幕一个点作为基准点(第一个出现的x即可),然后,枚举其他的x,记录下坐标差,然后去方格图中枚 ...
- SQL查询对分数进行排名
编写SQL查询以对分数进行排名. 如果两个分数之间存在平局,则两者应具有相同的排名. 请注意,在平局之后,下一个排名数应该是下一个连续的整数值. 换句话说,等级之间不应该存在"漏洞" ...
- 【spring 注解驱动开发】spring事务处理原理
尚学堂spring 注解驱动开发学习笔记之 - 事务处理 事务处理 1.事务处理实现 实现步骤: * 声明式事务: * * 环境搭建: * 1.导入相关依赖 * 数据源.数据库驱动.Spring-jd ...
- ArcGIS图层添加字段出现:“定义了过多字段”
首先,我图层数据格式为mdb,也就是Access数据库 Access一个表最大支持255个字段,可是我的才添加第一个字段就出现"定义了过多字段"的错误 打开ArcMap添加字段也是 ...