JVM内存分析命令

原文:http://www.javaranger.com/archives/1063

jinfo:

查看Java进程的栈空间大小:sudo -u tomcat /home/java/default/bin/jinfo -flag ThreadStackSize 14750
查看是否使用了压缩指针:sudo -u tomcat /home/java/default/bin/jinfo -flag UseCompressedOops 14750
查看系统属性:sudo -u tomcat /home/java/default/bin/jinfo -sysprops 14750

jstack:

查看一个指定的Java进程中的线程的状态:sudo -u tomcat /home/java/default/bin/jstack 14750

jstat:

查看gc的信息:sudo -u tomcat /home/java/default/bin/jstat -gcutil 14750

jmap&mat

sudo -u tomcat /home/java/default/bin/jmap -histo:live 14750

堆空间中各个年龄段的空间的使用情况:sudo -u tomcat /home/java/default/bin/jmap -heap 14750

jmap指定的dump文件一定要是tomcat用户可写,比如可以新创建一个文件夹
sudo mkdir /home/memdump
sudo chown tomcat:tomcat /home/memdump
sudo -u tomcat /home/java/default/bin/jmap -dump:live,format=b,file=/home/memdump/memMap.20131125.hprof 14750

时间: 2025-01-05 02:56:33

JVM内存分析命令的相关文章

JVM内存分析

贴图: 一.程序计数器(Program Counter Register) ????程序计数器就是记录当前线程执行程序的位置,改变计数器的值来确定执行的下一条指令,比如循环.分支.方法跳转.异常处理,线程恢复都是依赖程序计数器来完成.????Java虚拟机多线程是通过线程轮流切换并分配处理器执行时间的方式实现的.为了线程切换能恢复到正确的位置,每条线程都需要一个独立的程序计数器,所以它是线程私有的.? ???如果线程正在执行的是一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址

配置JVM内存 查看内存工具

一.配置JVM内存 1.配置JVM内存的参数有四个: -XmxJavaHeap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定: -XmsJavaHeap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值: -XmnJavaHeapYoung区大小,不熟悉最好保留默认值: -Xss每个线程的Stack大小,不熟悉最好保留默认值: 2.如何配置JVM内存分配: (1)当在命令提示符下启动并使用JVM时(只对当前运行的

Java内存分析1 - 从两个程序说起

这次看一些关于JVM内存分析的内容. 首先来看两个程序,这里是程序一:JVMStackTest,看下代码: package com.zhyea.robin.jvm; public class JVMStackTest { private static int count = 0; private void recur() { ++count; recur(); System.out.println("recur()方法执行结束"); } public static void main(

jvm内存对象分析

1.jmap -histo <pid> 可以查看指定pid的jvm内存状况 2.jmap -dump:file=dump.txt <pid> 以将指定pid的jvm中堆信息输出到文件中 在服务器上,这个文件比较大,我在公司的服务器上生成的文件2.3G 所以,最好不要在服务器上分析这个文件 可以将文件拷贝到本地,CRT可以用sz命令将文件下载到本地 3.jhat -J-Xmx4096m dump.txt 分析dump文件,由于我生成的文件比较大(2.3G),所以给了4096m内存去分

jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令

公司内部同事分享的一篇文章 周末看到一个用jstack查看死锁的例子.昨天晚上总结了一下jstack(查看线程).jmap(查看内存)和jstat(性能分析)命令.供大家参考 1.Jstack 1.1   jstack能得到运行java程序的java stack和native stack的信息.可以轻松得知当前线程的运行情况.如下图所示 注:这个和thread dump是同样的结果.但是thread dump是用kill -3 pid命令,还是服务器上面少用kill为妙 1.2   命名行格式

JVM内存最大能调多大分析

上次用weblogic 把 -XmxXXXX 设成2G,就启动不起来,设小点就起来了,当时很气,怎么2G都起不了,今天在看到了一篇解释,转过来了这 次一位老友提出了这个问题,记得当年一个java高手在blogjava提出后,被骂 上次用weblogic 把 -XmxXXXX 设成2G,就启动不起来,设小点就起来了,当时很气,怎么2G都起不了,今天在看到了一篇解释,转过来了 这 次一位老友提出了这个问题,记得当年一个java高手在blogjava提出后,被骂得半死.大家使用java -XmxXXX

JVM 监控以及内存分析

1 内存分析1.1 jmap -histo 命令pid=`jps | awk '{if ($2 == "Jps") print $1}'`jmap -histo $pid >>1.txt 查看pid中类的内存占用num     #instances(实例数)         #bytes(占用字节)  class name class name 解读B代表byte C代表char D代表double F代表float I代表int J代表long Z代表boolean 前边

jvm内存快照dump文件太大,怎么分析

来自凌幽草 1.场景 通常,使用eclipse的mat图形化工具打开dump的时候都会内存溢出. 对于比较小的dump,eclipse可以打开,但一旦dump文件太大,eclipse就有点束手无策. 这时候怎么办呢?可以使用linux下的mat,既Memory Analyzer Tools 2.dump生成 dump可以是内存溢出时让其自动生成,或者手工直接导.配置jvm参数-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/biapp/

jstat分析JVM内存

出处:http://liulinxia02.blog.163.com/blog/static/268687720117251501253/ Jstat 是JDK自带的一个轻量级小工具.全称"Java Virtual Machine statistics monitoring tool",它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控.可见,Jstat是轻量级的.专门针对JVM的工