文档章节

监听JVM的几个命令(可用于linux 本机)

timer_xi
 timer_xi
发布于 2014/08/18 17:09
字数 1115
阅读 13
收藏 0
1. jstat  

   这个命令对于查看Jvm的堆栈信息很有用。能够查看eden,survivor,old,perm等heap的capacity,utility信息

   对于查看系统是不是有能存泄漏以及参数设置是否合理有不错的意义

2. jstack

   这个是用来查看jvm当前的thread dump的。可以看到当前Jvm里面的线程状况。

   这个对于查找blocked线程比较有意义

3. jmap .

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

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

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

4. 还有一个比较有用的非jvm命令--netstat

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

jstat


        1. jstat -gc pid

             可以显示gc的信息,查看gc的次数,及时间。

             其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。

       2.jstat -gccapacity pid
             可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,

             如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,

             PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。

             其他的可以根据这个类推, OC是old内纯的占用量。

      3.jstat -gcutil pid

             统计gc信息统计。

      4.jstat -gcnew pid

            年轻代对象的信息。

      5.jstat -gcnewcapacity pid

            年轻代对象的信息及其占用量。

      6.jstat -gcold pid

           old代对象的信息。

      7.stat -gcoldcapacity pid

           old代对象的信息及其占用量。

      8.jstat -gcpermcapacity pid

           perm对象的信息及其占用量。

      9.jstat -class pid

           显示加载class的数量,及所占空间等信息。
      10.jstat -compiler pid

           显示VM实时编译的数量等信息。

      11.stat -printcompilation pid

           当前VM执行的信息。

         一些术语的中文解释:

          S0C:年轻代中第一个survivor(幸存区)的容量 (字节)
          S1C:年轻代中第二个survivor(幸存区)的容量 (字节)
          S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
          S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
            EC:年轻代中Eden(伊甸园)的容量 (字节)
            EU:年轻代中Eden(伊甸园)目前已使用空间 (字节)
            OC:Old代的容量 (字节)
            OU:Old代目前已使用空间 (字节)
            PC:Perm(持久代)的容量 (字节)
            PU:Perm(持久代)目前已使用空间 (字节)
          YGC:从应用程序启动到采样时年轻代中gc次数
        YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
          FGC:从应用程序启动到采样时old代(全gc)gc次数
        FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
          GCT:从应用程序启动到采样时gc用的总时间(s)

     NGCMN:年轻代(young)中初始化(最小)的大小 (字节)

     NGCMX:年轻代(young)的最大容量 (字节)

         NGC:年轻代(young)中当前的容量 (字节)

    OGCMN:old代中初始化(最小)的大小 (字节)

    OGCMX:old代的最大容量 (字节)

        OGC:old代当前新生成的容量 (字节)

    PGCMN:perm代中初始化(最小)的大小 (字节)

    PGCMX:perm代的最大容量 (字节)  

        PGC:perm代当前新生成的容量 (字节)

           S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比

          S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比

            E:年轻代中Eden(伊甸园)已使用的占当前容量百分比

            O:old代已使用的占当前容量百分比

            P:perm代已使用的占当前容量百分比

   S0CMX:年轻代中第一个survivor(幸存区)的最大容量 (字节)

  S1CMX :年轻代中第二个survivor(幸存区)的最大容量 (字节)

     ECMX:年轻代中Eden(伊甸园)的最大容量 (字节)

        DSS:当前需要survivor(幸存区)的容量 (字节)(Eden区已满)

           TT: 持有次数限制

        MTT : 最大持有次数限制


© 著作权归作者所有

timer_xi
粉丝 2
博文 53
码字总数 64113
作品 0
深圳
程序员
私信 提问
深入理解JVM学习笔记(三十一、JVM 内存分配----虚拟机工具介绍(JPS))

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jintaohahahaha/article/details/84312801 一、概念 JPS 名称: jps 全称是Java Virtual Machine Process Stat...

张--小涛涛
2018/11/21
0
0
如何让Java程序如同Linux脚本一样不用安装服务端

先说一种Linux脚本复制远程电脑文件到本机的方式: 1,通过scp,根据IP地址复制一个本机脚本到远程电脑 2,通过ssh,运行远程电脑上第一步复制过去的脚本,将所需复制的文件压缩 3,通过scp...

HelloWorlddd
2016/07/30
391
9
用 JNI 进行 Java 编程(2)

从 Java 程序调用 C/C++ 代码 概述 当无法用 Java 语言编写整个应用程序时,JNI 允许您使用本机代码。在下列典型情况下,您可能决定使用本机代码: 希望用更低级、更快的编程语言去实现对时间...

Jerikc
2012/10/08
188
0
【Linux 初学】虚拟机安装、联网、JDK安装(一)

1、虚拟机的安装: 利用centos-6.4-X8664.iso安装了两台内存512M虚拟机,centos-6.4-X8664.iso贴不上,网上下载吧。 PS:本机配置为8G内存、1T硬盘,CPU是i5-4210M,完全可以同时启动,占用电...

大白来袭
2015/07/21
244
0
利用 JAVA 调试协议 JDWP 实现反弹 shell

作者:Spoock 来源:https://blog.spoock.com/2019/04/20/jdwp-rce/ 说明 前面已经有两篇文章介绍了有关反弹shell的内容,使用Java反弹shell和绕过exec获取反弹shell。之前的文章主要聚焦如何...

spoock
05/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周二乱弹 —— 开发语言和语言开发的能一样么

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌:#今日歌曲推荐# 分享The Score的单曲《Revolution》 《Revolution》- The Score 手机党少年们想听歌,请使劲儿戳(这里) @批判派...

小小编辑
今天
1K
15
oracle ORA-39700: database must be opened with UPGRADE option

ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-39700: database must be opened with UPGRADE option 进程 ID: 3650 会话 ID: 29......

Tank_shu
今天
3
0
分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
聊聊DubboDefaultPropertiesEnvironmentPostProcessor

序 本文主要研究一下DubboDefaultPropertiesEnvironmentPostProcessor DubboDefaultPropertiesEnvironmentPostProcessor dubbo-spring-boot-project-2.7.3/dubbo-spring-boot-compatible/au......

go4it
昨天
2
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部