jvm如何设置内存分析:JVM实操篇- 命令的使用 包含
jvm如何设置内存分析:JVM实操篇- 命令的使用 包含假设需要每 250 毫秒查询一次进程 13616 垃圾收集状况,一共查询 10 次,那命令应当是:jstat -gc 13616 250 10 常用参数:是用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT 编译等运行数据,在没有 GUI图形界面,只提供了纯文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题的首选工具。-l: 输出应用程序主类完整 package 名称或 jar 完整名称.-v: 列出 jvm 参数 -Xms20m -Xmx50m 是启动程序指定的 jvm 参数示例:
前言在查询JVM相关问题的时候少不了jps、jstat、jinfo、jmap、jhat、jstack等命令工具。本文将会详细介绍这些命令工具的使用。
jps列出当前机器上正在运行的虚拟机进程,JPS 从操作系统的临时目录上去找。
-q :仅仅显示进程,
-m:输出主函数传入的参数. 下的 hello 就是在执行程序时从命令行输入的参数
-l: 输出应用程序主类完整 package 名称或 jar 完整名称.
-v: 列出 jvm 参数 -Xms20m -Xmx50m 是启动程序指定的 jvm 参数
示例:
jstat是用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT 编译等运行数据,在没有 GUI图形界面,只提供了纯文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题的首选工具。
假设需要每 250 毫秒查询一次进程 13616 垃圾收集状况,一共查询 10 次,那命令应当是:jstat -gc 13616 250 10 常用参数:
-class (类加载器)
-compiler (JIT)
-gc (GC 堆状态)
-gccapacity (各区大小)
-gccause (最近一次 GC 统计和原因)
-gcnew (新区统计)
-gcnewcapacity (新区大小)
-gcold (老区统计)
-gcoldcapacity (老区大小)
-gcpermcapacity (永久区大小)
-gcutil (GC 统计汇总)
-printcompilation (HotSpot 编译统计)
示例:
jinfo查看和修改虚拟机的参数
jinfo –sysprops 可以查看由 System.getProperties()取得的参数
jinfo –flag 未被显式指定的参数的系统默认值
jinfo –flags(注意 s)显示虚拟机的参数
jinfo –flag [ 参 数 ] 可 以 增 加 参 数 , 但 是 仅 限 于 由 java -XX: PrintFlagsFinal –version 查 询 出 来 且为 manageable 的参数
jinfo –flag -[参数] 可以去除参数
java -XX: PrintFlagsFinal –version执行结果