JVM可视化工具之Java VisualVM

JVM 可视化工具 之 Java VisualVM

本文主要介绍JVM的可视化工具:jvisualvm


基础知识

###JVM参数

Linux系统,使用man java查看JVM参数

参数 | 含义 |默认值|样例
-------- | —|
-Xms | 堆的初始Size | 物理内存的1/64|-Xms128m
-Xmx | 堆的最大Size,在生产环境,通常与-Xms设置成相同的值 | 物理内存的1/4|-Xmx128m
-Xmn |年轻代的初始Size和最大Size(Eden+From Survior + To Survivor ) | -Xmn256m
-Xss|线程的堆栈大小|-Xss1m
-XX:NewSize=size | 年轻代的初始size | -XX:NewSize=256m
-XX:MaxNewSize=size | 年轻代的最大size | -XX:MaxNewSize=256m
-XX:NewRatio=ration|年轻代(包括Eden和两个Survivor区)和老年代的比值|2|-XX:NewRatio=4表示年轻代和年老代的占比是1:4,年轻代占整个堆的1/5。设置-Xms、-Xmx与-Xmn时,该参数不需要设置
-XX:SurvivorRatio|Eden区与Survivor区的比值|8|
-Xloggc:filename|Sets the file to which verbose GC events information should be redirected for logging.|-Xloggc:garbage-collection.log

java -Xmx20m -Xms20m -XX:+HeapDumpOnOutOfMemoryError JavaHeapTest

1 public class JavaHeapTest{
  2     public final static int MAX_SIZE = 2000000000;
  3 
  4     private String oom;
  5 
  6     private int length;
  7 
  8     StringBuffer tempOOM = new StringBuffer();
  9 
 10     public JavaHeapTest(int length){
 11         this.length = length;
 12 
 13         int i = 0;
 14         while(i < length){
 15             i++;
 16 
 17             try{
 18                 tempOOM.append("a");
 19 
 20             }catch(OutOfMemoryError e){
 21                 e.printStackTrace();
 22                 break;
 23 
 24             }
 25 
 26         }
 27 
 28         this.oom = tempOOM.toString();
 29 
 30     }
 31 
 32 
 33     public String getOom(){
 34         return oom;
 35     }
 36 
 37     public int getLength(){
 38        return length;
 39     }
 40 
 41     public static void main(String args[]){
 42         try{
 43 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值