JVM笔记

参数java

初始堆-Xmsspa

最大堆-Xmx线程

线程的栈大小-Xss日志

最大直接内存-XX:MaxDirectMemorySize 默认为Xmx值。进程

-XX:+PrintClassHistogram 打印查看系统类的分布状况内存

-XX:+PrintVMOptions 打印VM选项cmd

-XX:+PrintGC 打印GC日志io

-XX:+PrintGCDetails 打印GC详细日志test

-XX:+TraceClassLoading 跟踪类加载日志jdk

-XX:SurvivorRatio 配置新生代中eden空间和from/to空间的比例关系

    -XX:SurvivorRatio=eden/from=eden/to

-XX:NewRatio 配置新生代和老年代的比例

-XX:+HeapDumpOnOutOfMemoryError 在内存溢出时导出整个堆信息

配合-XX:HeapDumpPath 指定导出路径

-XX:OnOutOfMemoryError=<cmd %p> 内存溢出时执行命令 %p表示进程PID

    例如jstack -F %p > d:/a.txt 导出线程转存

-XX:MaxMetaspaceSize jdk1.8之后永久区被完全移除,使用新的元数据区存放类的元数据

java -Xms20M -Xmx20M test