`

jvm配置垃圾收集参数

    博客分类:
  • jdk
 
阅读更多

在linux环境下配置tomcat的垃圾回收的一些配置,在catalina.sh文件的开头,直接加入

JAVA_OPTS="

$JAVA_OPTS

-server

-Xms64m -Xmx512m

-XX:PermSize=64M -XX:MaxPermSize=128m

-XX:+HeapDumpOnOutOfMemoryError  -XX:HeapDumpPath=/home/dump.hprof

-verbose:gc  -Xloggc:/home/gc.log -XX:+PrintGCDetails -XX:+PrintGCApplicationStoppedTime

-XX:+PrintGCDateStamps -XX:+PrintHeapAtGC"

 

解释一下用处

$JAVA_OPTS是引入以前的配置信息

-server 是只服务器

-Xms64m -Xmx512m 堆内存的最小最大空间

-XX:PermSize=64M -XX:MaxPermSize=128m 栈空间的最小最大

-XX:+HeapDumpOnOutOfMemoryError  -XX:HeapDumpPath=/home/dump.hprof 出现了内存溢出,将当时的快照信息写入到dump.hprof文件

-verbose:gc gc的一些配置

-Xloggc:/home/gc.log  每次gc写入gc.log日志中

-XX:+PrintGCDetails 打印gc详情

-XX:+PrintGCApplicationStoppedTime 打印垃圾回收时,应用暂停的时间

-XX:+PrintGCDateStamps  输出gc的时间戳

 -XX:+PrintHeapAtGC  打印GC前后的详细堆栈信息

 

 

贴一段gc信息日志

Total time for which application threads were stopped: 0.0000750 seconds

{Heap before GC invocations=1 (full 0):

 PSYoungGen      total 19136K, used 16448K [0x00000000f5560000, 0x00000000f6ab0000, 0x0000000100000000)

  eden space 16448K, 100% used [0x00000000f5560000,0x00000000f6570000,0x00000000f6570000)

  from space 2688K, 0% used [0x00000000f6810000,0x00000000f6810000,0x00000000f6ab0000)

  to   space 2688K, 0% used [0x00000000f6570000,0x00000000f6570000,0x00000000f6810000)

 PSOldGen        total 43712K, used 0K [0x00000000e0000000, 0x00000000e2ab0000, 0x00000000f5560000)

  object space 43712K, 0% used [0x00000000e0000000,0x00000000e0000000,0x00000000e2ab0000)

 PSPermGen       total 65536K, used 12915K [0x00000000dc000000, 0x00000000e0000000, 0x00000000e0000000)

  object space 65536K, 19% used [0x00000000dc000000,0x00000000dcc9cf30,0x00000000e0000000)

2018-05-24T15:39:06.084+0800: 0.424: [GC [PSYoungGen: 16448K->2336K(19136K)] 16448K->2336K(62848K), 0.0034480 secs] [Times: user=0.01 sys=0.00, real=0.01 secs] 

Heap after GC invocations=1 (full 0):

 PSYoungGen      total 19136K, used 2336K [0x00000000f5560000, 0x00000000f6ab0000, 0x0000000100000000)

  eden space 16448K, 0% used [0x00000000f5560000,0x00000000f5560000,0x00000000f6570000)

  from space 2688K, 86% used [0x00000000f6570000,0x00000000f67b8050,0x00000000f6810000)

  to   space 2688K, 0% used [0x00000000f6810000,0x00000000f6810000,0x00000000f6ab0000)

 PSOldGen        total 43712K, used 0K [0x00000000e0000000, 0x00000000e2ab0000, 0x00000000f5560000)

  object space 43712K, 0% used [0x00000000e0000000,0x00000000e0000000,0x00000000e2ab0000)

 PSPermGen       total 65536K, used 12915K [0x00000000dc000000, 0x00000000e0000000, 0x00000000e0000000)

  object space 65536K, 19% used [0x00000000dc000000,0x00000000dcc9cf30,0x00000000e0000000)

}

 

 

2018-05-24T15:39:06.084+0800: 0.424: [GC [PSYoungGen: 16448K->2336K(19136K)] 16448K->2336K(62848K), 0.0034480 secs] [Times: user=0.01 sys=0.00, real=0.01 secs] 

发生了gc

 

 

将内存dump下来

jmap -dump:format=b,file=/applis/dump.hprof pid号

 

 

分享到:
评论

相关推荐

    JVM规范--高手总结

    JVM规范--高手总结 Java相关 1 1.1Java定义 1 1.2Java的开发流程 1 1.3Java运行的原理 2 1.4半编译半解释 3 1.5平台无关性 4 JVM内存模型 4 2.1 JVM规范 5 2.2 Sun JVM 8 ...Java虚拟机(JVM)参数配置说明 30

    JVM参数设置详细说明

    JVM参数设置详细说明、JVM 参数设置详细说明 1: heap size a: -Xmx 指定jvm的最大heap大小,如:-Xmx=2g b: -Xms 指定jvm的最小heap大小,如:-Xms=2g,高并发应用,建议和-Xmx一样,防止因为内存收缩/突然增大带来...

    resin-jvm 调优

    理解了应用程序的工作负荷和jvm支持的垃圾收集算法,便可以进行优化配置垃圾收集器。 垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。gc首先要判断该对象是否是...

    深入java虚拟机

    1. JVM调优 1.1 JVM调优总结(一)-一些概念 1.2 JVM调优总结(二)-一些概念 1.3 JVM调优总结(三)-基本垃圾回收算法 1.4 JVM调优总结(四)-垃圾...4.2 JVM内存管理:深入垃圾收集器与内存分配策略 4.3 深入理解JVM

    JVM虚拟机内容导图.xmind

    JVM虚拟机各知识点总结整理, 包括java虚拟机概念、堆、栈、方法区、垃圾回收概念、算法及分代转换、垃圾收集器参数配置、算法实现等各方面内容,每个点都有详细的备注描述介绍

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    112 5.2.5 服务器JVM进程崩溃 / 113 5.3 实战:Eclipse运行速度调优 / 114 5.3.1 调优前的程序运行状态 / 114 5.3.2 升级JDK 1.6的性能变化及兼容问题 / 117 5.3.3 编译时间和类加载时间的优化 / 122 5.3.4 ...

    Java高级工程师简历模板18k+

    3.对Java虚拟机、JMM、垃圾收集机制、GC算法、JVM常用配置参数、GC参数、classLoader、锁机制、JVM故障分析,jmap,jstack等jdk提供的工具命令,性能监控工具(java visualVM),JVM参数调优有一定了解; 4.熟悉java...

    weblogic平台J2EE调优策略

    2.1.1 垃圾收集和堆大小 2.1.2 jRockit调优 2.2 Server调优 2.2.1 尽量使用本地I/O库 2.2.2 调整默认执行线程数 2.2.3 调整连接参数 2.2.4 创建新的执行队列 2.3 JDBC调优 2.3.1 调整连接池配置 2.4 WEB调优 2.4.1 ...

    Jetty中文手册

    如何配置垃圾收集 如何配置以支持高负载 在Jetty中部署应用 部署管理器 部署绑定 热部署 Context提供者 如何部署web应用 webApp提供者 如何部署第三方产品 部署展开形式的web应用 使用Jetty进行开发 如何使用Jetty...

    Eclipse 启动运行速度调优

    该设置消除了许多系统启动过程中的主要垃圾收集事件。SunONE Studio 或其它包含更多模块的 IDE 的用户可能希望将该数值设置得更高。 下面列出了其它一些可能对 ECLIPSE 在某些系统(不是所有系统)上的性能产生...

    Java虚拟机

    3.5.9 垃圾收集器参数总结 3.6 内存分配与回收策略 3.6.1 对象优先在Eden分配 3.6.2 大对象直接进入老年代 3.6.3 长期存活的对象将进入老年代 3.6.4 动态对象年龄判定 3.6.5 空间分配担保 3.7 本章小结 第4...

    Kafka生产环境问题总结与性能优化实践

    例如,在32G内存的机器上,适当配置Kafka的堆大小和垃圾收集器可以大幅提高性能。消息的可靠性取决于acks的设置,它决定了消息发送者需要等待多少确认。acks=0提供最高吞吐量但最易丢失消息,而acks=all则确保了最高...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    【JVM】JVM内存结构,GC垃圾收集解析 52 【JVM】双亲委派模型中,从顶层到底层,都是哪些类加载器,分别加载哪些类? 55 【JVM】能不能自己写个类叫java.lang.System? 57 【JVM】类的加载过程 58 【JVM】类的初始化...

    java面试题

    Bea JRockit JVM支持4种垃圾收集器: 46 63.5. 如何从JVM中获取信息来进行调整 46 63.6. Pdm系统JVM调整 47 63.6.1. 服务器:前提内存1G 单CPU 47 63.6.2. 客户机:通过在JNLP文件中设置参数来调整客户端JVM 47 64....

    Hadoop硬实战 [(美)霍姆斯著][电子工业出版社][2015.01]_PDF电子书下载 带书签目录 高清完整版.rar )

    技术点83 解决任务的JVM 启动参数 13.2.4 高效调试的编码准则 技术点84 调试和错误处理 13.3 MapReduce 陷阱 技术点85 MapReduce 反模式 13.4 本章小结 附录A 相关技术 附录B Hadoop 内置的数据导入导出...

    Hadoop实战(第2版)

    技术点79 MapReduce 函数、作业和管道的单元测试13.1.3 ...配置技术点83 解决任务的JVM 启动参数13.2.4 高效调试的编码准则技术点84 调试和错误处理13.3 MapReduce 陷阱技术点85 MapReduce 反...

    java 面试题 总结

    finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 13、sleep() 和 wait() 有什么区别? sleep是线程类(Thread)的...

    net学习笔记及其他代码应用

    程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 37.String s = new String(\"xyz\");创建了几个String Object? 答:...

    超级有影响力霸气的Java面试题大全文档

    finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 16、sleep() 和 wait() 有什么区别? sleep是线程类(Thread)...

Global site tag (gtag.js) - Google Analytics