`
高成锋
  • 浏览: 51278 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JVM学习总结二

    博客分类:
  • java
阅读更多

4. jmap

这个是用来查看jvm当前的heap dump的。可以看出当前jvm中各种对象的数量,所占空间等等。

尤其值得一提的是这个命令可以到处一份binary heap dumpbin文件,这个文件能够直接用

Eclipse Memory Anayliser来分析,并找出潜在的内存泄漏的地方。

描述 :输出给定 java 进程所有的内存使用信息。 

使用: 

    jmap [ option ] pid 

    jmap [ option ] executable core 

    jmap [ option ] [server-id@]remote-hostname-or-IP 

 

参数如下:
-heap:打印jvm heap的情况
-histo打印jvm heap的直方图。其输出信息包括类名,对象数量,对象占用大小。
-histolive 同上,但是只答应存活对象的情况
-permstat打印permanent generation heap情况

<no option> 

没有可选项时,会输出所有共享的对象映射。 

开始地址,映射大小,全路径。 

直接 jmap pid得到如下结果: 

0x08048000     46K  /work/ProgramFiles/jdk1.6.0_14/bin/java 

0xb6763000     74K  /work/ProgramFiles/jdk1.6.0_14/jre/lib/i386/libzip.so 

0xb6774000     41K  /lib/tls/i686/cmov/libnss_files-2.9.so 

0xb6780000     37K  /lib/tls/i686/cmov/libnss_nis-2.9.so 

0xb678b000     29K  /lib/tls/i686/cmov/libnss_compat-2.9.so 

是加载的文件的信息

jmap -heap pid : 

查看堆的配置和大当前各个区块的使用情况,如伊甸区、老年代,永久代。可以用此来判断内存目前的使用情况以及垃圾回收情况: 

jmap -histo 选项 

内存使用的柱状图,包含每个类,对象使用的内存大小。 VM 内部的类名以 前缀开头。 

jmap -permstat 选项 

输出所有类装载器在堆里产生的对象 

包括每个装载器的名字,活跃,地址,父装载器,和其总共加载的类大小。 

jmap -permstat pid

-------------------

5. netstat

通过这个命令可以看到linux系统当前在各个端口的链接状态,比如查看数据库连接数等等

6. jinfo

描述:输出给定 java 进程所有的配置信息。包括 java 系统属性和 jvm 命令行标记等。 

用法: 

jinfo [ option ] pid 

jinfo [ option ] executable core 

jinfo [ option ] [server-id@]remote-hostname-or-IP 

例子: 

jinfo pid 

这个命令包含了 JDK 和 JVM 运行起来时的一些属性。

7. jstatd

启动jvm监控服务。它是一个基于rmi的应用,向远程机器提供本机jvm应用程序的信息。默认端口1099

实例:jstatd -J-Djava.security.policy=my.policy

my.policy文件需要自己建立,内如如下:

grant codebase "file:$JAVA_HOME/lib/tools.jar" {

 permission java.security.AllPermission;

};

这是安全策略文件,因为jdkjvm做了jaas的安全检测,所以我们必须设置一些策略,使得jstatd被允许作网络操作

8. jps

列出所有的jvm实例

实例:

jps

列出本机所有的jvm实例

jps 192.168.0.77

列出远程服务器192.168.0.77机器所有的jvm实例,采用rmi协议,默认连接端口为1099

(前提是远程服务器提供jstatd服务)

输出内容如下:

jones@jones:~/data/ebook/java/j2se/jdk_gc$ jps

6286 Jps

6174  Jstat

9. jconsole

一个图形化界面,可以观察到java进程的gcclass,内存等信息。虽然比较直观,但是个人还是比较倾向于使用jstat命令(在最后一部分会对jstat作详细的介绍)

<!--EndFragment-->
分享到:
评论

相关推荐

    jvm自己学习总结

    jvm自己学习总结,对JVM的工作原理进行记录学习笔记

    JVM学习资料+笔记

    买的JVM学习资料(深入JVM内核—原理、诊断与优化),给大家分享还有自己整理的学习笔记

    JVM学习总结

    2.多进程,迅雷同时下载多个资源 3.并发Concurrency,一个cpu在多个线程之间复用。所有并发处理都会经历排 队等候,唤醒,执行等步骤。微观上排队,宏观上同时! 4.并行Parallelism,多个线程同时发生并处理(多核)...

    jvm的基础知识总结

    jvm的基础知识总结,根据线程共享和线程私有来划分,进行分别描述和具体参数解释和设置,可以更好的学习jvm的基础知识,方便以后运用

    个人总结之—JVM性能调优实战

    从实践中不断总结摸索的JVM调优经典之作,希望能给广大网友带来帮助!

    JVM入门实战/arthas实战/垃圾回收算法/垃圾回收器/jvm内存模型分析

    第一节:学习JVM的意义和目标 1.1 意义: 1.2 目标: 第二节:JVM内存模型 1.1 概念 1.2 JVM内存模型 1.3 Heap堆内存模型 第三节:定位垃圾对象的依据 1.1 引用计数法 1.2 可达性算法 第四节:垃圾回收算法 ...

    个人对JVM总结图.png

    个人对JVM的总结图。包括JVM的五部分(Program Counter Register、JVM Stack、Native Method Stack、heap、method area)。欢迎各位网友指正错误,互相学习讨论

    学习总结 包括Java JVM MySQL NoSQL UML 缓存 消息 分布式事务-StudySummary.zip

    学习总结 包括Java JVM MySQL NoSQL UML 缓存 消息 分布式事务-StudySummary

    JVM的学习.pdf

    Jvm知识的基础详细学习笔记,总结了Jvm知识的各个知识点,可以用来复习以及对基础知识的巩固,对新人的学习很有帮助。

    jvm指令手册 +JVM必知必会,掌握虚拟机编译过程.rar

    《JVM必知必会》记录了对JVM的总结及学习笔记,详解的介绍了什么是jvm,以及弄清楚jvm的工作原理等等,会深入了解JVM有一定的帮助。 Java Virtual Machine(Java虚拟机),它bai是一个虚构出来du的计算机,是通过在...

    学习总结 包括Java JVM MySQL NoSQL UML 缓存 消息 分布式事务 SOA 微服务 敏捷 架构设.zip

    学习总结 包括Java JVM MySQL NoSQL UML 缓存 消息 分布式事务 SOA 微服务 敏捷 架构设

    MySQL、JVM、RocketMQ、JUC、设计模式、数据结构与算法学习总结.zip

    MySQL、JVM、RocketMQ、JUC、设计模式、数据结构与算法学习总结

    jvm中的堆.xmind

    自己总结的jvm中堆的笔记,绘制了详细的思维导图,每个思维导图中均有详细的博文解释,方便大家学习和理解,免费分享给大家。适合jvm的爱好者和学习者

    JVM、GC详解及调优.pdf

    本文档详细讲解了JVM(Java Visual Mathine)的方方面面,首先由java的特性来描绘JVM的大致应用,再详细阐释了 JVM 的原理及内存管理机制和调优,讲述了与JVM密切...本文内容是对网络内容的总结,是学习 JVM 的好资料。

    jvm内存溢出

    jvm内存溢出 学习笔记

    jvm调优思维脑图

    总结了学习jvm调优的知识点,便于大家随时查看,快速串联思维。主要包括:java内存结构、堆内存的构成、堆内存参数调整、垃圾收集算法、垃圾收集器选择、JVM参数、java对象的内存分配过程、Tomcat调优并使用Jmeter...

    jvm方法区.xmind

    自己总结的jvm中方法区的笔记,绘制了详细的思维导图,每个思维导图中均有详细的博文解释,方便大家学习和理解,免费分享给大家。适合jvm的爱好者和学习者

    最全面的JVM优化经验总结

    主要介绍了最全面的JVM优化经验总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下

    JVM垃圾回收机制.xmind

    自己学习总结JVM垃圾回收机制的结构图,一起分享!!!

    Jvm内存面试问题总结(2020).docx

    自己在学习和面试过程中总结的一些常见面试题 , 包含了java内存模型 , java8以后内存变化. 垃圾回收算法, 常见的垃圾回收器 , G1垃圾回收器的优化 堆外内存如何使用等. 希望和大家共同进步 . 祝拿到满意的...

Global site tag (gtag.js) - Google Analytics