eclipse打印gc日志

1、在eclipse根目录下的eclipse.ini配置文件中添加以下参数:
-verbose:gc (开启打印垃圾回收日志)
-Xloggc:eclipse_gc.log (设置垃圾回收日志打印的文件,文件名称可以自定义)
-XX:+PrintGCTimeStamps (打印垃圾回收时间信息时的时间格式)
-XX:+PrintGCDetails (打印垃圾回收详情)
添加完以上参数后当启动Eclipse后就能在Eclipse根目录看到一个eclipse_gc.log的gc日志文件
2、设置eclipse初始堆、非堆内存大小以及年轻代
-Xms50m –Xmx200m -XX:PermSize=30m -XX:MaxPermSize=60m
3、添加JVM监控参数
-Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.port=6688 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

指令:
xmn 设置新生代的大小
xx:NewRatio:新生代与老年代的比值。假如值为4 表示新生代:老年代=1:4,即新生代占堆的1/5.
xx:survivorRadio:设置两个survivor区与eden的比值。假如值为8,即两个survivorRadio:eden=2:8.
即一个survivorRadio(幸存代,有两个from,to)占年轻代的十分之一
-Xms256m -Xmx2048m
初始256m,最大占用2048M

survivorRadio小会降低gc次数,提高性能。
官方推荐:新生代占堆3/8,幸存代占新生代1/10

-XX:+HeapDumpOnOutOfMemoryError
OOM(报错,out of memory)时导出堆到文件
-XX:+HeapDumpPath
导出OOM的路径
-Xmx20m -Xms5m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDum

-XX:PermSize -XX:MaxPermSize
设置永久区的初始空间和最大空间

JVM的方法区,也被称为永久代。在这里都是放着一些被虚拟机加载的类信息,静态变量,常量等数据。这个区中的东西比老年代和新生代更不容易回收

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

你可能感兴趣的:(jvm)