可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题
可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题
稀健网(稀健生物公司)成立于2013年,主要生物科技研发、健康信息咨询等服务
伱好,不知道你哪里不舒服是否需要矫正,请你先说明一下你的不适症状在帮助你
你对这个回答的评价是?
JDK本身提供了很多方便的JVM性能调优監控工具除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解
现实企业级Java开发中,有时候我们会碰到下面这些问题:
这些问题在日常开发中可能被很多人忽视(比如有的人遇到上面的问题只是重啟服务器或者调大内存而不会深究问题根源),但能够理解并解决这些问题是Java程序员进阶的必备要求本文将对一些常用的JVM性能调优监控工具进行介绍,希望能起抛砖引玉之用本文参考了网上很多资料,难以一一列举在此对这些资料的作者表示感谢!关于JVM性能调优相關的资料,请参考文末
jps主要用来输出JVM中运行的进程状态信息。语法格式如下:
打印进程的类加载器和类加载器加载的持久代对象信息輸出:类加载器名称、对象是否存活(不可靠)、对象地址、父类加载器、已加载的类大小等信息,如下图:
使用jmap -heap pid查看进程堆内存使用情況包括使用的GC算法、堆配置参数和各代中堆内存使用情况。比如下面的例子:
还有一个很常用的情况是:用jmap把进程内存使用情况dump到文件Φ再用jhat分析查看。jmap进行dump命令格式如下:
上面红线框出来的部分大家可以自己去摸索下最后一项支持OQL(对象查询语言)。
vmid是虚拟机ID在Linux/Unix系统上一般就是进程ID。interval是采样时间间隔count是采样数目。比如下面输出的是GC信息采样时间间隔为250ms,采样数为4:
要明白上面各列的意义先看JVM堆内存布局:
|
其他JVM性能调优参考资料:
《Java虚拟机规范》