追踪参数:

  打印GC简要信息    -XX:+PrintGC
  打印GC详细信息    -XX:+PrintGCDetails
  打印CG发生的时间戳  -XX:+PrintGCTimeStamps
  指定GC log的位置   -Xloggc:log/gc.log
  打印类的加载情况    -XX:+TraceClassLoading

堆参数:
  -Xmx  最大堆
  -Xms  最小堆
  -Xmn  新生代大小
  -XX:NewRatio
    新生代(eden+2*s)和老年代(不包含永久区)的比值
    4 表示 新生代:老年代=1:4,即年轻代占堆的1/5
  -XX:SurvivorRatio
    设置两个Survivor区和eden的比
    8表示 两个Survivor :eden=2:8,即一个Survivor占年轻代的1/10

-Xmx20m -Xms5m  运行代码
public static void main(String[] args){
System.out.print("Xmx=");
System.out.println(Runtime.getRuntime().maxMemory()/1024.0/1024+"M"); System.out.print("free mem=");
System.out.println(Runtime.getRuntime().freeMemory()/1024.0/1024+"M"); System.out.print("total mem=");
System.out.println(Runtime.getRuntime().totalMemory()/1024.0/1024+"M");
} Xmx=18.0M
free mem=4.8178863525390625M
total mem=5.5M

  

  -XX:+HeapDumpOnOutOfMemoryError  OOM时导出堆到文件
  -XX:+HeapDumpPath            导出OOM的路径
  -XX:OnOutOfMemoryError         在OOM时,执行一个脚本

-Xmx20m -Xms5m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/a.dump
Vector v=new Vector();
for(int i=0;i<25;i++)
v.add(new byte[1*1024*1024]);

永久区参数:
  -XX:PermSize -XX:MaxPermSize
    设置永久区的初始空间和最大空间
    他们表示,一个系统可以容纳多少个类型

栈参数:
  -Xss
    通常只有几百K
    决定了函数调用的深度
    每个线程都有独立的栈空间
    局部变量、参数 分配在栈上

JVM虚拟机参数的更多相关文章

  1. 【JVM】jvm虚拟机参数解析

    转载:https://blog.csdn.net/see__you__again/article/details/51998038不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正 ...

  2. jvm 虚拟机参数_堆内存分配

    1.参数 -XX:+PrintGC 只要遇到 GC 就会打印日志 -XX:+UseSerialGC 配置串行回收器 -XX:+PrintGCDetails 查看详细信息,包括各个区的情况 -XX:+P ...

  3. jvm 虚拟机参数_方法区内存分配

    1.方法区( 永久区 ) 和堆一样,方法区是一块所有线程共享的区域,他用于保存系统类的信息.默认情况下 -XX:MaxPermSize 为 64m.如果系统运行时产生大量的类,就需要设置一个合适方法区 ...

  4. jvm 虚拟机参数_栈内存分配

    1.参数 -Xss 指定线程最大的栈空间,整个参数也直接决定了函数可调用的最大深度 2.测试代码 private static int count; public static void addCou ...

  5. jvm 虚拟机参数_新生代内存分配

    1.参数 -Xmn 设置新生代的大小,设置一个比较大的新生代会减少老年代的大小,这个参数对系统性能以及 GC 行为影响很大,新生代大小一般设置为真个堆内存的1/3到1/4 -XX:SurvivorRa ...

  6. java 基础知识学习 JVM虚拟机参数配置

    1) 设置-Xms.-Xmx相等: 2) 设置NewSize.MaxNewSize相等: 3) 设置Heap size, PermGen space: Tomcat 的配置示例:修改%TOMCAT_H ...

  7. Java虚拟机3:常用JVM命令参数

    之后写的东西就会用到虚拟机参数了,现在这里汇个总自己平时用到的.看到的一些虚拟机参数.现在看不懂没关系,反正之后都会用到的: (1)-Xms20M 表示设置堆容量的最小值为20M,必须以M为单位 (2 ...

  8. JVM虚拟机(1)---常用JVM配置参数

    常用JVM配置参数 常用JVM配置参数主要有:Trace跟踪参数.堆的分配参数.栈的分配参数. 一.Trace跟踪参数 跟踪参数用于跟踪监控JVM,对于开发人员来讲用于JVM调优以及故障排查的. 1. ...

  9. JVM虚拟机(三):参数配置

    在虚拟机运行的过程中,如果可以跟踪系统的运行状态,那么对于问题的故障排查会有一定的帮助,为此,虚拟机提供了一些跟踪系统状态的参数,使用给顶的参数执行java虚拟机,就可以在系统运行时打印相关日志,用于 ...

随机推荐

  1. JAVA反射机制--静态加载与动态加载

    Java反射是Java被视为动态(或准动态)语言的一个关键性质.这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如pu ...

  2. 微信小程序 - .gitignore失效问题

    -------------------------------------------- Last Update Date:2018-8-8 ----------------------------- ...

  3. Java 调用存储过程、函数

     一.Java调用存储Oracle存储过程 测试用表: --创建用户表 create table USERINFO ( username ) not null, password ) not null ...

  4. JavaScript数组求最大值 面试题

    1.JavaScript数组求最大值 (1)方法一:借用math.max (2)方法二:ES6 2.代码 <!DOCTYPE html> <html lang="zh&qu ...

  5. Android EditText 输入password是否可见

    设置password不可见 etAfter.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); 设置password可见 etA ...

  6. 【HTML5】元素<script>与<noscript>的使用

    功能描述 在新建的页面中增加一个文本框"txtContent"和一个按钮"请点击我":当单击按钮时.通过页面中加入的JavaScript脚本获取为文本框中的内容 ...

  7. LoadRunner调用md5方法

    LoadRunner调用md5方法 上一篇 / 下一篇  2011-04-29 11:25:12 / 个人分类:Loadrunner 查看( 958 ) / 评论( 0 ) / 评分( 0 / 0 ) ...

  8. java 异常 java.lang.OutOfMemoryError: GC overhead limit exceeded 解决

    一.异常如下: Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded ...

  9. mysql学习笔记(编辑中)

    1.LAST_INSERT_ID()依赖于当前服务器会话中自动产生的序列编号.同时括号中也可以赋值更新数据,eg: update test set id = last_insert_id(id+10) ...

  10. linux 内存分析

    http://blog.yufeng.info/archives/2456  这篇文章不错 值得看 http://www.361way.com/memory-analysis/5018.html