GC学习记录
来源:互联网 发布:数据分析专业就业前景 编辑:程序博客网 时间:2024/06/06 14:21
1、Trace跟踪参数:
打开GC的LOG:-verbose:gc或者-XX:+printGC
打印GC详细信息:-XX:+PrintGCDetails
打印GC发生的时间戳:-XX:+PrintGCTimeStamps
指定GC log的位置:-Xloggc:log/gc.log(以文件输出,不配置将在控制台中输出)
每一次调用GC都打印堆信息:-XX:+PrintHeapAtGC
监控类的加载:-XX:+TraceClassLoading
打印类使用的情况:-XX:+PrintClassHistogram
(程序运行中按下Ctrl+Break后打印到控制台)
分别显示:序号、实例数量、总大小、类型
2、堆的分配参数:
指定最大堆:-Xmx1024m(指定最大堆值为1024m)
指定最小堆:-Xms10m(指定最小堆值为10m)
设置新生代大小
设置绝对值:-Xmm(如:-Xmm10m)
设置笔直:-XX:NewRatio(如-XX:NewRatio4表示新生代:老年代=1:4)
设置两个Survivor区和eden的比:-XX:SurvivorRatio
在发生OutOfMemory错误时做一个堆的转存:
导出OOM堆到文件:-XX:+HeapDumpOnOutOfMemoryError
导出OOM的路径:-XX:+HeapDumpPath
例子:-Xmx20 -Xms4m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/outofmemoryerror.dump
在发生OOM错误时,执行一个脚本:-XX:OnOutOfMemoryError(可以在.bat中重启程序,邮件发送等)
例子:-XX:OnOutOfMemoryError=d:/start.bat %p
3、得到java虚拟机内存情况:
Runtime.getRuntime().totalMemory() :返回 Java 虚拟机中的内存总量(已用内存)。
Runtime.getRuntime().maxMemory() :返回 Java 虚拟机试图使用的最大内存量(最大内存)。
Runtime.getRuntime().freeMemory() :返回 Java 虚拟机中的空闲内存量(可用内存)。
4、永久区分配参数:
设置永久区初始空间大小:-XX:PermSize
设置永久区最大空间大小:-XX:MaxPermSize
5、栈大小分配: -Xss128k
- GC学习记录
- jvm学习记录:GC
- GC学习
- tomcat 记录GC的Log
- JVM相关学习记录与总结(内存&GC&类加载&工具)
- 深入学习GC之-GC日志解读
- GC学习笔记
- GC学习必备知识
- java gc学习笔记
- GC学习笔记
- GC学习笔记
- GC学习笔记
- GC学习笔记
- GC学习笔记
- GC学习笔记
- GC学习笔记
- GC学习笔记
- GC学习笔记
- mysql percona版编译安装
- C++的Name lookup之qualified name lookup
- LINK:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 8.4 Optimizing Database Structure 优化数据库结构
- 解决MyEclipse吃内存以及卡死的方法
- GC学习记录
- SQL语句创建数据库 表 关系
- 安装 ubuntu-14.04-desktop-amd64.iso + FSL
- RPM包制作
- grep常用用法
- 【Android成长之路】最常用和最难用的控件——ListView的浅谈(定制ListView 的界面)
- 记2015沈阳区域赛
- Jmeter和LoadRunner的异同
- ZooKeeper 典型应用场景一览