java虚拟机学习01——jvm参数
来源:互联网 发布:围棋算法 编辑:程序博客网 时间:2024/06/08 05:26
在看《深入理解java虚拟机》的时候,我对书中使用的到许多jvm参数不是很了解,在这里记录下常用的jvm参数,以后遇到新的命名也会在这更新
首先说下jvm参数如何使用,我这里用的是Myeclipse,右键程序Run as -> Run Configuration,这里一定要说下,在左侧的java application中找到自己的入口类,如果没有,就双击java application,一般就能刷新出来了,剩下的就简单了,Arguments中找到VM arguments,在这里输入jvm参数
接下来说说jvm参数,首先从几个常用的说起
Xms20m -Xmx20mjava堆的初始大小为20m,最大为20m
-XX:PermSize=10M -XX:MaxPermSize=10M永久代的初始大小为10M,最大值为10M
-Xss128k每个线程栈区的大小
-XX:SurvivorRatio=8设置Eden和Suvivor区的比例为8:1,注意这里是Eden和一个Suvivor区的比例,为什么要有两个Survivor以后的文章会解释
XX:NewRatio=4表示老年代与年轻代的比值,如果用-Xmn设置过了年轻代大小,就不要设置这个值了
-verbose:gc 或者-XX:+printGC打印出gc执行的简要信息,这里要说下如何读懂gc的日志信息,假设有以下gc日志:
20: [GC [DefNew: 10K->2K(20K), 1 secs] 15K->5K(50K), 1.5 secs]
20表示从java虚拟机启动以来的时间
DefNew表示用的Serial收集器对新生代的垃圾回收
10K->2K(20K), 1 secs表示新生代当前使用空间gc后从10K降低2K,括号里的20K表示该空间(新生代)的总内存,1secs表示gc用了1秒
15K->5K(50K):GC前Java堆已使用容量->GC后Java堆已使用容量(Java堆总容量)
-XX:+PrintGCDetails打印gc执行的详细信息,详细信息的日志会和上面不一样,如以下形式:
PSYoungGen total 9216K, used 7143K [0x00000000ff600000, 0x0000000100000000, 0x0000000100000000)
eden space 8192K, 87% used [0x00000000ff600000,0x00000000ffcf9fb8,0x00000000ffe00000)
from space 1024K, 0% used [0x00000000fff00000,0x00000000fff00000,0x0000000100000000)
to space 1024K, 0% used [0x00000000ffe00000,0x00000000ffe00000,0x00000000fff00000)
PSYoungGen:使用Parallel Scavenge收集器对新生代gc
[0x00000000ff600000, 0x0000000100000000, 0x0000000100000000)分别表示新生代在内存中的低边界值,当前位置,高边界值
新生代分配的大小 = eden space + from space + to space 不等于 9216,目前还不懂为什么不等
以上是我遇到的jvm参数以及如何读懂gc日志,后续更新......
- java虚拟机学习01——jvm参数
- [Java学习] Java虚拟机(JVM)参数简介
- java jvm虚拟机的参数
- Java虚拟机——JVM
- jvm学习笔记(一)—Java虚拟机内存区域
- Java虚拟机JVM学习笔记
- java虚拟机学习-jvm体系结构
- Java虚拟机学习-JVM系统
- Java虚拟机(JVM)参数配置说明
- Java虚拟机(JVM)参数配置说明
- Java虚拟机(JVM)参数配置说明
- Java虚拟机(JVM)参数配置说明
- Java虚拟机(JVM)参数配置说明
- Java虚拟机(JVM)参数配置说明
- Java虚拟机(JVM)参数配置说明
- Java虚拟机(JVM)参数配置说明
- Java虚拟机(JVM)参数配置说明
- Java虚拟机(JVM)参数配置说明
- 这样的递归调用,你看出来了?
- 运算符重载初次接触2
- java中包命名常见规则
- Firefox vimperator快捷键(掌握这些就可以丢鼠标了)
- 官网Instagram集成
- java虚拟机学习01——jvm参数
- 操作MySQL
- 120 - Stacks of Flapjacks
- Android LK Bootlaoder启动概览
- 06/05/2016引用变量、指针升级
- 面试(一)
- spark-shell 基本用法
- 坐标转换的布尔莎模型
- c++第七次实验