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
- 决定了函数调用的深度
- 每个线程都有独立的空间
- 局部变量、参数分配在栈上