性能测试之JVM监控

一、工具简介

VisualVM,能够监控线程,内存情况,查看方法的CPU时间和内存中的对象,已被GC的对象,反向查看分配的堆栈,从界面上看还是比较简洁的,左边是树形结构,自动显示当前本机所运行的Java程序,还可以添加远程的Java VM,其中括号里面的PID指的是进程ID。OverView界面显示VM启动参数以及该VM对应的一些属性。Monitor界面则是监控Java堆大小,Permgen大小,Classes和线程数量。

二、打开JVisualVM

1、打开JVisualVM

找到Jdkl安装的路径的bin路径下,双击运行即可

1、显示页面如下

2、增加远程监控--选择远程--右键增加 写入需要监控的Linux的ip地址即可

方案描述:JVisualVM监控Linux有2种:1、JMX方式  2、Jstatd方式,两者需要结合,本方案不设置安全账户密码进行连接,工作中可以自行增加监控的账号与密码

三、JVisualVM监控Linux---JMX方式

JMX监控方式,缺陷:没有GC监控功能

1、修改catalina.sh 文件,文件在你项目的tomcat目录下

#!/bin/sh
export JRE_HOME=/usr/local/jdk1.7.0_80
JAVA_OPTS=‘-Xms""m -Xmx""xm -XX:PermSize=""m -XX:MaxPermSize=""m
           -Djava.rmi.server.hostname=你服务器的ip
           -Dcom.sun.management.jmxremote.port=10001
           -Dcom.sun.management.jmxremote.ssl=false
           -Dcom.sun.management.jmxremote.authenticate=false ‘  

主要增加的是从你服务器ip及往下的内容

2、在tomcat lib目录中增加jar包:catalina-jmx-remote.jar

3、防火墙开启10001端口,指令如下:按照顺序执行即可

systemctl start firewalld                  ##开启防火墙
firewall-cmd --add-port=10001/tcp --permanent     ##永久添加10001端口
firewall-cmd --add-port=10002/tcp --permanent     ##永久添加10002端口
firewall-cmd --add-port=10003/tcp --permanent     ##永久添加10003端口
firewall-cmd --add-port=1099/tcp --permanent     ##永久添加1099端口
firewall-cmd --list-ports                    ##列出开放的端口
systemctl stop firewalld                  ##关闭防火墙

4、验证是否可以监控--成功

四、JVisualVM监控Linux---Jstatd方式

Jstatd监控方式,缺陷:没有cpu监控画面

1、修改jdk配置文件--/usr/local/jdk1.7.0_80/jre/lib/security 下的java.policy文件--------------------具体路径根据你的服务器路径来

在文件末位的 }; 前添加
permission java.security.AllPermission;

进入到jdk的bin目录下启动jstatd

./jstatd -J-Djava.security.policy=all.policy -p 10003 &

2、验证监控

原文地址:https://www.cnblogs.com/congyiwei/p/12392175.html

时间: 2024-11-06 22:30:37

性能测试之JVM监控的相关文章

性能测试之mysql监控、优化

我们在做性能测试的目的是什么,就是要测出一个系统的瓶颈在哪里,到底是哪里影响了我们系统的性能,找到问题,然后解决它.当然一个系统由很多东西一起组合到一起,应用程序.数据库.服务器.中中间件等等很多东西.那我们测试的时候上面这些东西里面任何一个环节都可能会出问题,都可能会影响我们系统的性能.这篇博客主要讲下mysql数据库咱们在做性能测试的时候应该监控什么东西,又有哪些需要优化的地方. 一.哪些东西会影响mysql的性能? 1.硬件 2.系统配置 3.数据库表结构 4.SQL以及索引 硬件 硬件就

Jmeter性能测试之Monitor监控(SSHMon Samples Collector)

前面写的一篇Monitor监控有缺陷, 这篇文章使用Jmeter4.0+的版本, 使用插件SSHMon Samples Collector来做资源监控 1. 官网下载插件: plugins-manager.jar , 然后放到lib/ext目录下, 重启Jmeter. 2. 打开Options--> Plugins Manager, 在"Available Plugins"一栏勾选SSHMon Samples Collector, 然后点击Apply Change and Res

[Android Pro] Android应用性能测试之CPU和内存占用(转载)

首先稍做分析一下测试环境:我们知道CPU和内存占用是一个实时变化的状态,而市面上还没有具体的哪款android应用能做到实时监控CPU和内存占用并使用log日志保存.考虑到android的底层框架是基于Linux的平台,所有我们可以通过Linux的资源监控命令来实现对android平台的资源实时监控. 要做到上边的测试环境的实现,需要具备以下几点: 1.被测试的手机具备root权限:因为涉及到底层的linux命令,需要读取或执行相应的文件.至于如何root你的手机,不同型号的手机root的方法不

JVM监控命令详解(转)

JVM监控命令基本就是 jps.jstack.jmap.jhat.jstat 几个命令的使用就可以了 JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jstack.jmap.jhat.jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解. 现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Conte

性能测试之Windows常见性能计数器

性能计数器(counter)是描述服务器或操作系统性能的一些数据指标.计数器在性能测试中发挥着“监控和分析”的关键作用,尤其是在分析系统的可扩展性.进行性能瓶颈的定位时,对计数器的取值的分析非常关键.但必须说明的是,单一的性能计数器只能体现系统性能的某一个方面,对性能测试结果的分析必须基于多个不同的计数器. 与性能计数器相关的另一个术语是“资源利用率”.该术语指的是系统各种资源的使用状况.为了方便比较,一般用“资源的实际使用/总的资源可用量”形成资源利用率的数据,用以进行各种资源使用的比较. 性

Eclipse 中设置JVM 内存及JVM监控调优

当我们在IDE控制台发现: 说明我们给jvm的持久代设置的值太小,此时你需要打开eclispe 中window->preferences->Java->Installed JRE ,点击右侧的Edit 按钮,在编辑界面中的 "Default VM Arguments "选项中,将-XX:PermSize及  -XX:MaxPermSize的值加大. 如果你懂jvm性能调优的话,从jstat监控中可以得知其中的关系.以下为实际演示操作: 1,按照如下图步骤将-XX:Pe

Java系列笔记 - JVM监控与调优

光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之.通过学习,我觉得JVM监控与调优主要的着眼点在于如何配置.如何监控.如何优化3点上.下面就将针对这3点进行学习. (如果您对Java的内存区域划分和内存回收机制尚不明确,那在阅读本文前,请先阅读我的前一篇博客<Java系列笔记(3) - Java 内存区域和GC机制>,在该博客中,详细叙述了Java HotSpot虚拟机(Sun/Oracle JDK系列默认的虚拟机)的内存分配和垃圾回收机制.

JVM监控和调优常用命令工具总结

JVM监控和调优 在Java应用和服务出现莫名的卡顿.CPU飙升等问题时总是要分析一下对应进程的JVM状态以定位问题和解决问题并作出相应的优化,在这过程中Java自带的一些状态监控命令和图形化工具就非常方便了.本文总结了最常用的命令行工具及其常用参数解释,图形化监控工具的用法,仅供参考. jps Java版的ps命令,查看java进程及其相关的信息,如果你想找到一个java进程的pid,那可以用jps命令替代linux中的ps命令了,简单而方便. 命令格式: jps [options] [hos

UAVStack JVM监控分析工具:图形化展示采集及分析监控数据

引言 作为AllInOne的智能化服务技术栈,UAVStack提供了非常全面的监控数据采样功能,同时支持数据监控与预警.近期,我们整合了原有的数据采集展示功能,新增JVM分析功能,推出了更易用的JVM监控分析工具. 熟悉JDK的开发者都知道,JDK本身提供了一套JVM分析工具,包括jinfo.jmap.jstack等.用户可以通过命令行轻松获取JVM内存堆栈信息.内存对象分配以及JVM启动基本参数信息.但这些工具需要在命令行环境中执行,且生产环境下则需要通过堡垒机转发. 开源社区一些不错的JVM