学过java的人都知道,jvm是解释运行java的,java能够作为跨平台语言,也是因为jvm的存在,合理的使用jvm内存可以帮助程序很好的运行。那么,怎么查看jvm的内存使用情况呢,下面本文介绍一下。
java程序查看
1、使用java代码也是可以查看jvm内存使用情况的,如果你经验比较丰富的话,应该是知道的,那就是使用Runtime,Runtime对java的运行环境进行的封装,可以得到jvm的状态信息,使用Runtime.getRuntime()就可以得到Runtime的引用,代码如图所示。
2、使用Runtime的maxMemory(),totalMemory(),freeMemory()镉胶鱿瓜几个方法就可以得到jvm的内存使用情况maxMemory是jvm可溅局柑氍以从操作系统可以获得最大内存,totalMemory是jvm已经分配到的内存大小,freeMemory是所分配内存的剩余大小,可以通过代码运行查看,代码如图所示。
3、上面介绍了Runtime的几个参数,下面我们运行一下看看结果,如图所示。
4、注意,上面的运行得到的结果单位是字节,如果想转换为M的话,需要把得到的结果除以(1024*1024傧韭茆鳟),因为1M = 1024K,1K = 1024byte。以上就是使用java代码获取jvm的内存使用情况,下面说一下使用jvm工具查看的方法。
JVM工具查看
1、上面说了一下通过java代码查看jvm内存的使用情况的方法,下面说一下使用jvm工具查看的方法,在jdk的bin目录下,是有很多命令行工具,这些命令行工具都是可以帮助分析java的运行情况的,如图所示。
2、至于每一个工具的使用及其功能,读者可以自行去网上查看,下面说一下jmap和jconsole,jmap可以打印内存映射,jconsole是一个简易的可视化控制台,下面我们先看一下jmap的运行结果。
3、打开命令行工具,进入jdk的bin目录,如图所示。
4、直接执行jamp即可,就可以看到提示,比如执行jmap pid,就可以看到java各程的内存使用情况,如图所示。
5、执行jconcole,就会出现一个可视化的工具框,就可以查看堆内存使用情况,cpu占有率等,如图所示。
6、以上就是使用工具查看jvm内存使用情况的方法,本文只介绍两种,其他的读者可以自行查看,希望可以帮到大家。