Trace跟踪参数
-verbose:gc |
-XX:+PrintGC |
- 可以打印GC的简要信息
- [GC 4790k->374k(15872k),0.0001606 sess]
-XX:+PrintGCDetails - 打印GC详细信息
-XX:+PrintGCTimeStamps |
- 打印GC发生时间戳
-Xloggc:log/gc.log |
- 指定GC log位置,以文件输出
- 帮助开发人员分析问题
-XX:+PrintHeapAtGC |
- 每一次GC后。都打印堆信息
-XX:TraceClassLoading |
- 监控类的加载
-XX:+PrintClassHistogram |
- 按下Ctr+Break后,打印类的信息
堆的分配参数
-Xmx -Xms |
- 指定最大堆和最小堆
-Xmn |
- 设定新生代大小
-XX:NewRatio |
- 新生代(eden+2s)和老年代(不包含永久区)的比值
- 4表示新生代:老年代 = 1:4
-XX:SurrivorRatio |
- 设置两个Surrivor区和eden的比
- 8表示两个Surrivor:eden = 2:8
-XX:+HeapDumpOnOutOfMemoryError |
- OOM时到出堆到文件
-XX:HeapDumpPath |
- 导出OOM的路径
-XX:OnOutOfMemoryError |
- 在OOM时,执行一个脚本
- “-XX:OnOutOfMemoryError=D:/tools/jdk1.7_40/bin/printstack.bat %p”
- 当程序OOM时,在D:/a.txt中将会生成线程的dump
- 可以在OOM时,发送邮件,甚至时重启线程
永久区分配参数
-XX:PermSize -XX:MaxPermSize |
- 设置永久区的初始空间和最大空间
- 他们表示,一个系统可以容纳多少个类型
栈大小分配
-Xss |
- 通常只有几百k
- 决定了函数调用的深度
- 每个线程都有独立的空间
- 局部变量、参数分配在栈上