一些周期性GC的理由为何
2015-10-25 19:16
211 查看
1.供tomcat:防止内存泄漏监听器 JreMemoryLeakPreventionListener在上班,每隔一小时默认触发一次System.gc
Class clazz = Class.forName("sun.misc.GC");
Method method = clazz.getDeclaredMethod(
"requestLatency",
new Class[] {long.class});
method.invoke(null, Long.valueOf(3600000)); // 一小时
对于tomcat 7028和6038之后的版本号。这个时间被调整为
method.invoke(null, Long.valueOf(Long.MAX_VALUE - 1));
2.不管是tomcat还是jboss,rmi.dgc在工作,jdk6的默认设置是1小时,能够自己改动:
-Dsun.rmi.dgc.client.gcInterval=60000
-Dsun.rmi.dgc.server.gcInterval=60000
能够看:http://ehcache.org/documentation/operations/garbage-collection
这里不鼓舞使用DisableExplicitGC 。Oracle/Sun JDK 6的实现中。依赖System.gc()保证DirectByteMemory的清理。假设使用-XX:+DisableExplicitGC,清理工作可能无法及时生产完成OOM.
Class clazz = Class.forName("sun.misc.GC");
Method method = clazz.getDeclaredMethod(
"requestLatency",
new Class[] {long.class});
method.invoke(null, Long.valueOf(3600000)); // 一小时
对于tomcat 7028和6038之后的版本号。这个时间被调整为
method.invoke(null, Long.valueOf(Long.MAX_VALUE - 1));
2.不管是tomcat还是jboss,rmi.dgc在工作,jdk6的默认设置是1小时,能够自己改动:
-Dsun.rmi.dgc.client.gcInterval=60000
-Dsun.rmi.dgc.server.gcInterval=60000
能够看:http://ehcache.org/documentation/operations/garbage-collection
这里不鼓舞使用DisableExplicitGC 。Oracle/Sun JDK 6的实现中。依赖System.gc()保证DirectByteMemory的清理。假设使用-XX:+DisableExplicitGC,清理工作可能无法及时生产完成OOM.
相关文章推荐
- C++动态库调用配置
- OC面向对象特性: 继承
- 统计难题(trie树)
- Spark基本概念
- android 54 播放音视频
- ARM9开发板FL2440移植Linux-3.0内核————添加USB驱动
- 关于 HTML5本地存储详解 (转载学习)
- LNMP一键安装包 V1.1 通告
- Python:使用threading模块实现多线程(转)
- 第四次实验——栈和队列(二)
- 信息安全系统设计基础第七周学习总结
- HTML问答
- CSS
- 猜数字小游戏
- 递归实现 1+2+3+...100 php和java
- Android工具Uitls
- [Android基础]布局属性
- hibernate的几个重要的接口
- 课堂讨论电子版
- 快速模幂运算