码迷,mamicode.com
首页 > 编程语言 > 详细

java内存调优常用命令

时间:2015-08-30 23:13:45      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:

1. jps 列出运行的java进程信息
命令格式:jps [-qmlv]
-q:指定只输出进程ID;
-m:输出传给Java进程的参数;
-l:输出主函数的完整路径;
-v:显示传给JVM的参数;

2.jstat 用于观察Java应用程序运行时信息的工具,可以用它查看堆信息的详细情况
命令格式:jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
option可以由以下值构成:
-class:显示ClassLoader信息;
-compiler:显示JIT编译的相关信息;
-GC:显示与GC相关的堆信息;
-gccapacity:显示各个代的容量及使用情况;
-gccause:显示垃圾收集相关信息,通-gcutil,同时显示最后一次或当前正在发生的垃圾收集的诱发原因;
-gcnew:显示新生代信息;
-gcnewcapacity:显示新生代大小与使用情况;
-gcpermcapacity:显示永久代大小;
-gcold:显示老年代大小;
-gcoldcapacity:显示老年代大小;
-gcutil:显示垃圾收集的信息;
-printcompilation:输出JIT便宜的方法信息。

-t 参数可以在输出信息上加上一个Timestamp列,显示程序的运行时间。
-h 用于周期性输出表头信息,可以通过lines设置每多少行输出一次表头。
interval参数用于指定输出统计数据的周期,单位为毫秒。
count 指定一共输出多少次数据。

如:
jstat -class -t 2972 100 2
jstat -compiler ot 2972
jstat -GC 2972
jstat -gccapacity 2972
jstat -gccause 2972

3. jinfo 用来查看正在运行的Java应用程序的扩展参数,甚至支持在运行时修改部分参数
命令格式: jinfo <option> <pid>
option:
-flag<name>:打印指定jvm参数值;
-flag [+|-]<name>:设定指定jvm参数的布尔值;
-flag<name>=<value>:设置指定jvm参数的值;

如:
jinfo -flag MaxTenuringThreshold 2972
jinfo -flag PrintGCDetails 2972
修改参数:
jinfo -flag +PrintGCDetails 2972

4.jmap生成Java应用程序的堆快照和对象的统计信息。
jmap -histo 2972 >c:\test.txt     //文件输出堆快照
jmap -dump:format=b,file=c:\heap.hprof 2972       //到处堆快照后可以通过性能分析工具(如jhat、Visual VM)分析

版权声明:本文为博主原创文章,未经博主允许不得转载。

java内存调优常用命令

标签:

原文地址:http://blog.csdn.net/sundenskyqq/article/details/48110297

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!