`

JDK监控命令

 
阅读更多

 

export命令

export CLASSPATH=.:CLASSPATH:xxx-1.0.0-SNAPSHOT.jar 

 

jstack   -l pid

解析:

daemon后台进程

prio=10 优先级是10 

tid在内存中的物理地址

nid线程id 16进制

WAITING 线程状态,可以是RUNNING ...



 

 

 

先简单介绍下常见dump 内存的两种方式

    XX:+HeapDumpOnOutOfMemoryError       

    jmap -dump:format=b,file=testdump.bin <pid>

 

jmap的常用命令:

   jmap -histo:live  pid  查看内存里面实例的内容以及数量

   jmap heap pid          查看内存中每个代内存的占有率

 

常用名词解释:

 Shallow size就是对象本身占用内存的大小,不包含对其他对象的引用,也就是对象头加成员变量(不是成员变量的值)的总和。

Retained size是该对象自己的shallow size,加上从该对象能直接或间接访问到对象的shallow size之和。

 

1.模拟堆内存溢出。

   code:

   

import java.util.ArrayList;
import java.util.List;

public class TestOOM {

	public static void main(String[] args) throws InterruptedException {
		
		List list=new ArrayList();
		OOM oom=new OOM();
		Thread.sleep(20*1000);
		for(int i=0;i<15;i++){
	//		System.out.println(i);
			list.add(new OOM());

			Thread.sleep(2*1000);
		}
		
	}
	
}

class OOM{
	
	byte[] bytes=new byte[1024*1024*8];
	
}

 

 

2.模拟常量池溢出。

    code:

import java.util.ArrayList;
import java.util.List;

public class OOM2 {
	
	public static void main(String[] args) throws InterruptedException {
		
		List list=new ArrayList();
		Thread.sleep(10*1000);
		for(int i=0;i<10000000;i++){
			list.add(String.valueOf(i).intern());
		}
		
	}

}

   java -Xmx1020m -Xms1020m -XX:PermSize=50m  -XX:MaxPermSize=50m -XX:+HeapDumpOnOutOfMemoryError  OOM2

  可以发现跑了一会,会出现OOM。

  

 此时dump文件已经生成了就可以用MAT工具打开了。

 

   

mat分析详细截图下次再补充下吧。

  参考一下文档:

   http://www.blogjava.net/rosen/archive/2010/05/21/321575.html

   http://www.blogjava.net/rosen/archive/2010/06/13/323522.html

  • 大小: 3.9 KB
  • 大小: 38.6 KB
0
0
分享到:
评论

相关推荐

    JVM监控管理及故障诊断工具(常用命令)

    JVM监控管理及故障诊断工具(常用命令),文中的命令常用于监视JVM虚拟机性能及资源消耗情况。

    jdk8免费下载 jdk1.8 64位免费下载

    官网下载下来的 新手现在想从官网...需要注意的是,JDK8与JDK1.8实际上是同一个东西,这是由于自从JDK1.5/JDK5命名方式改变后遗留的新旧命令方式问题。尽管现在已经有更高版本的JDK,但JDK8仍然是主流版本被广泛使用。

    jdk 9 API

    JDK 9中核心库的新内容: 1、进程API更新:新增ProcessHandle类,该类提供进程的本地进程ID、参数、命令、启动时间、累计CPU时间、用户、父进程和子进程。这个类还可以监控进程的活力和破坏进程。ProcessHandle。...

    JavaVisualVM可视化多线程监控分析工具v1.3.8官方安装版

    Java VisualVM是一个多线程的监控分析工具,VisualVM 是一款免费的\集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,...它集成了多个JDK命令工具的一个可视化工具,它主要用来监控JVM的运行情况,

    基于JAVA CS远程监控系统软件的实现(源代码+WORD论文文档论文).zip

    2.被监控端读取命令(命令格式为ordername:port)ordername为命令名字,port为主控端打开的TCP端口。 3.接到主控端连接后,被监控端就对当前用户的桌面采用屏幕截取,然后发送给主控端。依被监控端设计的不同,...

    Java应用性能监控和调优(思维导图)

    将视频整合成为思维导图...内容包括:(1)基于JDK命令后工具的监控(2)基于Btrace的监控调试(3)nginx性能监控和调优 (4)java代码层优化(5)JVM层GC调优(6)基于JVisualVM的可视化监控(7)tomcat性能监控和调优

    ApkIDE——安卓反编译

    完善jdk路径的自动查找和配置(如果不会设置JDK,只要安装jdk的安装版后,通常都能自动查找到)。 版本:2.3 alpha测试版 发布时间:2013.04.09 增加对.samli、.xml的文件修改的监视功能,以便在使用了外部编辑器...

    java-虚拟机 操作系统监控工具-源码

    支持远程执行JDK自带工具命令,包含但不限于jps、jstat、jstack、jinfo、jmap、jcmd等 提供客户端交互工具,支持跨进程attach和远程连接功能 支持三种服务模式(可同时开启多个服务): jvmm服务:独有RPC协议,需...

    Java JDK实例宝典

    全部代码出自电子工业出版社夏先波的《Java JDK实例宝典》一书,本书以J2SE 5.0为开发环境,选取Java应用的典型实例,循序渐进地介绍了Java语言的各种开发方法和技巧,实例代码注释详细规范,思路清晰。 第1章 ...

    物联网流量监控器

    物联网流量监控器 下面是IoT Traffic Monitor应用程序的架构图。 阅读的文章 交通监控器应用程序使用以下工具和技术。 JDK-1.8 Maven-3.3.9 动物园管理员-3.4.8 ... 使用以下命令来构建所有项目。 mvn package

    rocketmq监控程序、页面

    1.此jar包是根据rocketmq-console-ng工程maven编译而来 ...3.启动命令(需要有jdk环境): nohup java -jar rocketmq-console-ng-1.0.0-gbk.jar --server.port=8888 --rocketmq.config.namesrvAddr=ip1:9876;ip2:9876 &

    java jdk实列宝典 光盘源代码

    使用ProcessBuilder执行本地命令; 泛型编程; 监控和管理虚拟机;新的线程执行架构; 线程锁; 线程条件; 线程同步装置:semaphore countdownlatch cyclicbarrier exchanger; 17 java与xml 用dom处理xml文档; 用sax处理...

    Java-JVM性能监控与故障处理工具详细介绍以及使用案例

    使用JVM命令和一查看这个JVM参数,帮助我们排查、解决问题。 1 JDK的命令行工具 JDK的命令行工具大多数是对JDK/lib/tools.jar类库的一层薄包装而已,它们的主要功能代码是在tools类库中实现的。Linux下的这些工具有...

    SmartMonitorV1.5Build006

    在生产系统运维过程中,每天需要通过各种命令查看系统参数,以确认系统是否正常运行,而查看并记录每台服务器相应的参数,是一件繁杂,耗时,并需要有对系统运维有充分经验的人来操作,尽管如此,对于紧急系统故障,...

    Monkey测试–monkey压力测试及性能监控

    jdk1.8安装 sdk: 下载sdk:http://tools.android-studio.org/index.phph/sdk 配置环境变量:ANDROID_HOME=sdkpath path添加:%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools; adb命令:adb是Android调试桥 ...

    jenkins.part2.rar

    首先保证系统中已经安装了jdk,最好是jdk1.5以上。 第一种启动方法,切换到jenkins.war存放的目录,输入如下命令: $ java -jar jenkins.war 然后在浏览器中(推荐用火狐)输入http://localhost:8080,localhost可以...

    jenkins.part1.rar

    首先保证系统中已经安装了jdk,最好是jdk1.5以上。 第一种启动方法,切换到jenkins.war存放的目录,输入如下命令: $ java -jar jenkins.war 然后在浏览器中(推荐用火狐)输入http://localhost:8080,localhost可以...

    jenkins.war

    首先保证系统中已经安装了jdk,最好是jdk1.5以上。 第一种启动方法,切换到jenkins.war存放的目录,输入如下命令: $ java -jar jenkins.war 然后在浏览器中(推荐用火狐)输入http://localhost:8080,localhost可以...

    bankPay-转卡系统卡转卡系统支付宝转卡系统app自动回调.zip

    全自动收款系统/转卡系统源码/银行卡自动收款/卡转卡代收系统/卡转卡支付系统/卡转卡系统源码/转卡系统监控/转卡收款系统源码 软件架构 ●使用vue、element-ui、spring-boot技术 ●依赖jdk(v1.8)、tomcat(v8.5) 、...

    lanlan2017#JavaReadingNotes#4.2.5 jhat:虚拟机堆转储快照分析工具1

    - 第4章 虚拟机性能监控、故障处理工具- 4.2 基础故障处理工具JDK提供jhat(JVM Heap Analysis Tool)命令与jmap搭配使用,来

Global site tag (gtag.js) - Google Analytics