JvisualVM、JMC监控远程服务器
- 修改服务器上jmxremote.access与jmxremote.password,输入命令:
find -name jmxremote.access
进入该jmxremote.access文件所在目录中,输入命令:
cd /usr/java/jdk1.8.0_91/jre/lib/management路径要用到两个文件:(jmxremote.access和jmxremote.password)
mv jmxremote.access.template jmxremote.access如果 jmxremote.access文件不存在,只有 jmxremote.access.template 文件时,需创建 该文件
vi jmxremote.access
mv jmxremote.password.template jmxremote.password 如果 jmxremote.password 文件不存在,只有 jmxremote.password.template 文件时,需创建 该文件
vi jmxremote.password
- 启动相应jar文件
java -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=端口 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -Djava.rmi.server.hostname=172.16.103.115 -jar jar包名例如
java -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -Djava.rmi.server.hostname=172.16.103.115 -jar SpringMVCDemo-0.0.1-SNAPSHOT.jar
java -Xms200m -Xmx1024m
-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -Djava.rmi.server.hostname=172.16.103.115 -jar SpringMVCDemo-0.0.1-SNAPSHOT.jar 本机启动JvisualVM
在 JDK的bin目录下双击jvisualvm.exe启动在JavaVisuaVM中右击远程 -> 远程添加主机

右击该远程主机 -> 添加JMX连接

- 监控见面如下:

- 查看线程DUMP
右击JMX连接图标,线程DUMP
8堆DUMP
右击jmx,堆dump,
从远程机拷到本地
文件 -> 装入
就能看堆dump
9. 堆比较

添加jmx启动参数,踩过的坑
添加jmx 参数
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=123456
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-XX:+UnlockCommercialFeatures
-XX:+FlightRecorder
-Djava.rmi.server.hostname=172.16.103.127
1.jmxremote.password和jmxremote.access 权限问题
注意:jmxremote.password和jmxremote.access文件只允许启动用户名对该文件拥有读写权限 ,
权限不对,会报:
Error: Password file read access must be restricted: /usr/java/jdk1.8.0_91/jre/lib/management/jmxremote.password
Error: Password file read access must be restricted: /usr/java/jdk1.8.0_91/jre/lib/management/jmxremote.password
调整文件权限
[root@dog:management]# chmod 600 *
[root@dog:management]# chown root:root *
[root@dog:management]# ll
2.添加jmx 启动参数,导致启动shell 脚本里格式不正确
Error: Could not find or load main class \
Error: Could not find or load main class \
开始是直接将启动参数贴到启动shell脚本,导致启动失败。
手工一行一行添加参数后,定位到最后一行-Djava.rmi.server.hostname=172.16.103.127 参数 可能是编码,格式的问题。
手动将ip地址敲进去,问题解决。
JvisualVM、JMC监控远程服务器的更多相关文章
- 关于nagios监控远程服务器对服务器性能影响的测试
1. Nagios监视远程服务器时,是通过在控制端执行以下命令进行数据收集的: /usr/local/nagios/libexec/check_http -I 192.168.16.11 /us ...
- 通过SSIS监控远程服务器Windows服务并发送邮件报警!
利用SSIS不仅可以做BI项目的ETL,而且还可以做一些系统监控和维护工作,由于之前供应商写的Windows服务是读取ESB的消息进行处理,且通过OA流程与访客系统进行了集成,无论是ESB出现状况,还 ...
- 通过SSIS监控远程服务器磁盘空间并发送邮件报警!
由于之前ESB是供应商部署的,且部署在C盘(C盘空间很小,还添加了很多ESB的windows服务日志在C盘,很容易把C盘空间占满,导致ESB服务运行宕机,几乎每隔几周发生一次事故,需要人工干预处理,不 ...
- 使用VisualVM监控远程服务器JVM
VisualVM是JDK自带的一款全能型性能监控和故障分析工具,包括对CPU使用.JVM堆内存消耗.线程.类加载的实时监控,内存dump文件分析,垃圾回收运行情况的可视化分析等,对故障排查和性能调优很 ...
- VisualVM监控远程服务器JVM
VisualVM是JDK自带的一款全能型性能监控和故障分析工具,包括对CPU使用.JVM堆内存消耗.线程.类加载的实时监控,内存dump文件分析,垃圾回收运行情况的可视化分析等,对故障排查和性能调优很 ...
- 【Java】监控远程服务器JVM
今天在用JMeter进行测试的时候,发现线程并发量到50的时候会导致阻塞情况,于是需要监控远程JVM,那么如何监控远程JVM呢? 首先,找到启动计量引擎的sh文件,例如我目前的计量引擎启停文件为str ...
- JVM监控远程服务器
1. 首先配置服务器端,进入服务器tomcat的bin目录下,打开catalina.sh配置文件,xxx为服务器配置路径. # cd /xxx/apache-tomcat-/bin # vim cat ...
- Python实现自动化监控远程服务器
最近发现Python课器做很多事情,在监控服务器有其独特的优势,耗费资源少,开发周期短. 首先我们做一个定时或者实时脚本timedtask.py,让其定时监控目标服务器,两种方式: 第一种: #!/u ...
- 使用WMI和性能计数器监控远程服务器权限设置
应用场景:在web服务器中,通过.NET编码使用WMI查询远程服务器的一些硬件配置信息,使用性能计数器查询远程机器的运行时资源使用情况.在网上没有找到相关的东西,特记录与大家共享. 将web服务器和所 ...
随机推荐
- Python - Python2与Python3合理共存Windows平台
Install Python2 and Python3 Python 2.7.13 - Windows x86-64 MSI installer Python 3.6.0 - Windows x86- ...
- iOS UISearchController 的使用方法
iOS UISearchController 的使用方法 UISearchController 让用户在 UISearchBar 上输入搜索关键词,展示搜索结果或者进行其他操作.UISearchCon ...
- 将apache的prefork改成worker
1. 检测apache正在使用哪个MPM? XXX@XXX-ThinkPad-Edge-E431:~$ apachectl -V | grep -i mpm Server MPM: prefork 2 ...
- E. Devu and Flowers
E. Devu and Flowers time limit per test 4 seconds memory limit per test 256 megabytes input standard ...
- 怎样的 Hash 算法能对抗硬件破解
前言 用过暴力破解工具 hashcat 的都知道,这款软件的强大之处在于它能充分利用 GPU 计算,比起 CPU 要快很多.所以在破解诸如 WiFi 握手包.数据库中的口令 Hash 值时,能大幅提高 ...
- Omi命令行界面omi-cli发布
原文链接:https://github.com/AlloyTeam/omi/blob/master/docs/deep_in/cn_omi-cli.md 写在前面 通常认为,命令行界面(CLI)没有图 ...
- 【PHP系列】PHP推荐标准之PSR-3,日志记录器接口
上节聊完了PHP官方的相关代码规范,下面给大家带来了PHP系列的PHP推荐标准的另外两个,PSR-3,PSR-4. 首先,我们先来了解下PSR-3是怎么回事. PHP-FIG发布的第三个推荐规范与前两 ...
- asp.net EF+MVC+Bootstrap 通用后台管理系统
需要源码,请加QQ:858-048-581 开发环境: VS2012或以上 数据库: SQL Server 2008R2或以上 基于EF+MVC+Bootstrap构建通用后台管理系统,集成轻量级 ...
- 【android】简易实现横向的ListView
众所周知,android里面的ListView是竖着的. 如果想要横向的话需要自定义一下ListView. CSDN上面有个人描述了一下一个国外大神的自定义横向ListVIew 请点击 --> ...
- 多线程简介及GCD的使用
多线程简介: 对于任意一个iOS应用,程序运行起来后,默认会产生一个主线程(MainThread),主线程专门用来处理UIKit对象的操作,如界面的显示与更新.处理用户事件触发的操作等等.(记忆这点, ...