千家信息网

如何实现JVM内存监控工具用法

发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,本篇文章为大家展示了如何实现JVM内存监控工具用法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。你对JVM内存监控工具的使用是否熟悉,这里向大家简单介绍一下,
千家信息网最后更新 2024年11月29日如何实现JVM内存监控工具用法

本篇文章为大家展示了如何实现JVM内存监控工具用法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

你对JVM内存监控工具的使用是否熟悉,这里向大家简单介绍一下,VisualVM囊括的命令行工具包括jps,jstat,jmap,jinfo,jstack,JConsole,这些工具与JDK的标准版本是一致的,它能为您提供强大的分析能力,实现JVM内存监控。

JVM内存监控工具大全

VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力。所有这些都是免费的!它囊括的命令行工具包括jps,jstat,jmap,jinfo,jstack,JConsole,这些工具与JDK的标准版本是一致的。

jinfo:可以输出并修改运行时的java进程的opts。

jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。

jstat:一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。

jmap:打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。

jconsole:一个javaGUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。

接下来是对这些JVM内存监控工具的详细介绍:

◆从最简单的jstat工具开始:我想很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程,及其id。jps也是一样,它的作用是显示当前系统的java进程情况,及其id号。我们可以通过它来查看我们到底启动了几个java进程(因为每一个java程序都会独占一个java虚拟机实例),和他们的进程号(为下面几个程序做准备),并可通过opt来查看这些进程的详细启动参数。
使用方法:在当前命令行下打jps(需要JAVA_HOME,没有的话,到改程序的目录下打)

接下来是jstat,我之所以这次调优Liferayportal是因为,liferay在默认的情况下,并发用户一多就会产生permoutofmomery异常。虽然很开就解决了,但发现对VM内存使用量监控的重要性。通过google,很快的发现了jstat这个工具。

jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。以下详细介绍各个参数的意义。
jstat-classpid:显示加载class的数量,及所占空间等信息。
jstat-compilerpid:显示VM实时编译的数量等信息。
jstat-gcpid:可以显示gc的信息,查看gc的次数,及时间。其中***五项,分别是younggc的次数,younggc的时间,fullgc的次数,fullgc的时间,gc的总时间。

◆jstat-gccapacity:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存***使用量,PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。其他的可以根据这个类推,OC是old内纯的占用量。

jstat-gcnewpid:new对象的信息。
jstat-gcnewcapacitypid:new对象的信息及其占用量。
jstat-gcoldpid:old对象的信息。
jstat-gcoldcapacitypid:old对象的信息及其占用量。
jstat-gcpermcapacitypid:perm对象的信息及其占用量。
jstat-utilpid:统计gc信息统计。
jstat-printcompilationpid:当前VM执行的信息。

除了以上一个参数外,还可以同时加上两个数字,如:jstat-printcompilation30242506是每250毫秒打印一次,一共打印6次,还可以加上-h4每三行显示一下标题。

◆jmap是一个可以输出所有内存中对象的JVM内存监控工具,甚至可以将VM中的heap,以二进制输出成文本。使用方法jmap-histopid。如果连用SHELLjmap-histopid>a.log可以将其保存到文本中去,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。jmap-dump:format=b,file=String3024可以将3024进程的内存heap输出出来到String文件里。

◆jinfo:此JVM内存监控工具的用处比较简单,就是能输出并修改运行时的java进程的运行参数。用法是jinfo-optpid如:查看2788的MaxPerm大小可以用jinfo-flagMaxPermSize2788。

◆jconsole是一个用java写的GUI程序,用来监控VM,并可监控远程的VM,非常易用,而且功能非常强。由于是GUI程序,这里就不详细介绍了,不会的地方可以参考SUN的官方文档。
使用方法:命令行里打jconsole,选则进程就可以了

上述内容就是如何实现JVM内存监控工具用法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

内存 工具 进程 监控 信息 对象 命令 占用量 程序 使用量 参数 时间 输出 情况 数量 监视 运行 强大 使用方法 大小 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 银联软件开发笔试 手机连自家网为什么服务器超时 王者荣耀游戏服务器被锁 软件开发培训课程周期 科技安全和网络安全的区别 乱世王者数据库 etl开发和数据库开发面试题 网络两个重要的新兴网络技术 哪项不属于大型软件开发过程中 计算机网络技术五年制 大一网络技术论文 管家婆软件服务器设置 以下哪种网络技术需要布线 php引用数据库图片显示不出来 大石桥app软件开发 南通分布式服务器加盟 荣耀战魂服务器开发 网络安全管理员中级实操试卷 万科a在锐思金融数据库 连校园WiFi显示服务器未响应 nbiot和云服务器是什么关系 北京新机场网络安全招标 乐高无限什么服务器可以找到恐龙 数据库省赛一等奖奖品 武汉社交软件开发 德鲁伊数据库连接池jar包下载 上海工商总行软件开发中心 大连非诚网络技术有限公司 大学有招聘网络安全员吗 毕节网络安全系统哪个好用
0