jconsole使用介绍(图文)

时间:2022-03-16 18:50:25

首先先看一下jvm的大致情况,包括:堆内存使用情况,加载的类的情况,线程个数等等信息。如下图所示:

jconsole使用介绍(图文)

接着看一下通过jconsole看到的jvm的内存使用情况。jvm主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的,所有方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法的代码都在非堆内存中。在jconsole中,我们看到下方绿色的柱状图表示的各个部分的内存情况。在jconsole中jvm的堆内存分为:eden space 内存池,survivor space 内存池,tenured gen内存池,非堆内存分为:code cache内存池,perm gen内存池。如下图所示:

jconsole使用介绍(图文)

最后看使用jconsole查看一下jvm的参数设置,如下图:

jconsole使用介绍(图文)

上面的jvm的参数说明如下:
-Xms    最小堆空间
-Xmx    最大堆空间
-Xmn    新生代空间
-Xss    线程栈空间
-XX:PermSize=xxx    永久代空间
-XX:MaxPermSize=xxx    最大永久代空间