jvm gc参数解释以及提供系统堆益处日志监控方法
来源:互联网 发布:使用java的游戏引擎 编辑:程序博客网 时间:2024/05/27 00:47
-XX:+UseSerialGC:在新生代和老年代使用串行收集器
-XX:SurvivorRatio:设置eden区大小和survivior区大小的比例
-XX:NewRatio:新生代和老年代的比
-XX:+UseParNewGC:在新生代使用并行收集器
-XX:+UseParallelGC :新生代使用并行回收收集器
-XX:+UseParallelOldGC:老年代使用并行回收收集器
-XX:ParallelGCThreads:设置用于垃圾回收的线程数
-XX:+UseConcMarkSweepGC:新生代使用并行收集器,老年代使用CMS+串行收集器
-XX:ParallelCMSThreads:设定CMS的线程数量
-XX:CMSInitiatingOccupancyFraction:设置CMS收集器在老年代空间被使用多少后触发
-XX:+UseCMSCompactAtFullCollection:设置CMS收集器在完成垃圾收集后是否要进行一次内存碎片的整理
-XX:CMSFullGCsBeforeCompaction:设定进行多少次CMS垃圾回收后,进行一次内存压缩
-XX:+CMSClassUnloadingEnabled:允许对类元数据进行回收
-XX:CMSInitiatingPermOccupancyFraction:当永久区占用率达到这一百分比时,启动CMS回收
-XX:UseCMSInitiatingOccupancyOnly:表示只在到达阀值的时候,才进行CMS回收
-verbose:gc
-XX:+printGC
可以打印GC的简要信息
-XX:+PrintGCDetails
打印GC详细信息
-XX:+PrintGCTimeStamps
打印CG发生的时间戳
-Xloggc:log/gc.log
指定GC log的位置,以文件输出 帮助开发人员分析问题
-XX:+PrintHeapAtGC 每次一次GC后,都打印堆信息
-XX:+TraceClassLoading 监控类的加载
-XX:+PrintClassHistogram 按下Ctrl+Break后,打印类的信息:
-Xmx –Xms 指定最大堆和最小堆
System.out.print("Xmx=");
System.out.println(Runtime.getRuntime().maxMemory()/1024.0/1024+"M");
System.out.print("free mem=");
System.out.println(Runtime.getRuntime().freeMemory()/1024.0/1024+"M");
System.out.print("total mem=");
System.out.println(Runtime.getRuntime().totalMemory()/1024.0/1024+"M"); 代码查看对内存使用情况
-Xmn 设置新生代大小
-XX:NewRatio 新生代(eden+2*s)和老年代(不包含永久区)的比值 4 表示 新生代:老年代=1:4,即年轻代占堆的1/5
-XX:SurvivorRatio 设置两个Survivor区和eden的比 8表示 两个Survivor :eden=2:8,即一个Survivor占年轻代的1/10
-XX:+HeapDumpOnOutOfMemoryError OOM时导出堆到文件
-XX:+HeapDumpPath 导出OOM的路径
Xmx20m -Xms5m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/a.dump
-XX:OnOutOfMemoryError 在OOM时,执行一个脚本
"-XX:OnOutOfMemoryError=D:/tools/jdk1.7_40/bin/printstack.bat %p“ 当程序OOM时,在D:/a.txt中将会生成线程的dump 可以在OOM时,发送邮件,甚至是重启程序
总结 根据实际事情调整新生代和幸存代的大小 官方推荐新生代占堆的3/8 幸存代占新生代的1/10 在OOM时,记得Dump出堆,确保可以排查现场问题
栈大小配置 -Xss 通常只有几百K 决定了函数调用的深度 每个线程都有独立的栈空间 局部变量、参数 分配在栈上
- jvm gc参数解释以及提供系统堆益处日志监控方法
- JVM实用参数 GC日志
- JVM实用参数GC日志
- 12.JVM的GC日志Full GC每个字段解释
- JVM实用参数(八)GC日志
- JVM实用参数(八)GC日志
- JVM实用参数(八)GC日志
- jvm gc 日志和dump参数
- JVM实用参数(八)GC日志
- JVM实用参数(八)GC日志
- JVM实用参数(八)GC日志
- 【JVM实用参数】(八)GC日志
- JVM实用参数(八)GC日志
- JVM内存参数详解以及配置调优(四)-GC日志
- jvm 内存和GC参数以及经验值
- JVM GC参数以及GC算法的应用
- JVM GC参数以及GC算法的应用
- 关于在galssfish中配置jvm参数和gc日志的方法
- DataExcel 设置单元格,列,行只读 ReadOnly属性
- Linux 简单修改权限命令
- CentOS 7安装Nginx
- Linux 起停jar命令
- 树形菜单js实现
- jvm gc参数解释以及提供系统堆益处日志监控方法
- Android Studio:模拟器不能运行 控制台显示 VCPU shutdown request
- 【 ORACLE】 ROW_NUMBER() OVER() 分析函数实践
- SAP采购价格条件介绍
- 棋盘覆盖(分治加递归)
- Protobuffer和json深度对比
- 一致性哈希算法的两种优化方案
- hadoop入门(一)之HDFS
- 动态规划基础之挖金矿问题