- 时间:2021-10-20 11:02 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:jconsole使用介绍(图文)
首先先看一下jvm的大致情况,包括:堆内存使用情况,加载的类的情况,线程个数等等信息。如下图所示:
[img]http://files.jb51.net/file_images/article/201512/2015122900105914.jpg[/img]
接着看一下通过jconsole看到的jvm的内存使用情况。jvm主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的,所有方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法的代码都在非堆内存中。在jconsole中,我们看到下方绿色的柱状图表示的各个部分的内存情况。在jconsole中jvm的堆内存分为:eden space 内存池,survivor space 内存池,tenured gen内存池,非堆内存分为:code cache内存池,perm gen内存池。如下图所示:
[img]http://files.jb51.net/file_images/article/201512/2015122900105915.jpg[/img]
最后看使用jconsole查看一下jvm的参数设置,如下图:
[img]http://files.jb51.net/file_images/article/201512/2015122900105916.jpg[/img]
[b]上面的jvm的参数说明如下:[/b]
-Xms 最小堆空间
-Xmx 最大堆空间
-Xmn 新生代空间
-Xss 线程栈空间
-XX:PermSize=xxx 永久代空间
-XX:MaxPermSize=xxx 最大永久代空间