rmi full gc问题_RMI强制Full GC每小时运行一次

rmi full gc问题

在我职业生涯中进行的所有故障排除练习中,我都感觉到,随着时间的推移,我所追寻的错误在不断演变,变得越来越卑鄙和丑陋。 也许仅仅是我的年龄开始了。这个特别的Heisenbug –看起来像这篇帖子一样,再次让我清醒了很多,而不是我想要的。

与其他特别令人讨厌的错误一样,我现在遇到的那个错误的症状是“有时系统运行缓慢”。 太好了,我已经感到脊椎发麻。 当我发现系统在生产中设置了一个简单的监视解决方案来监视系统时,情况变得更好了。 从本质上讲,它只不过是Pingdom ,它每秒测量一次响应时间,但是延迟图立即引起了我的注意。

JVM峰值负载

在图中绘制的响应时间似乎是随机的尖峰–每次在蓝月亮中,响应开始花费的时间将近10倍。 不久之后,一切又恢复了正常。

最初的犯罪嫌疑人–看不见常规的cron工作或昂贵的报告流程。 存储监视也没有暴露任何特别丑陋的查询击中数据库。 但是在打电话之前,我在应用程序配置中添加了更多日志记录选项,重新启动了整个程序,并迷惑了自己的行为。

第二天早上,我还有其他事情要看,GC日志等。 十分钟之内,我发现自己盯着下面的东西:

11.408: [Full GC [PSYoungGen: 192K->0K(48640K)] [ParOldGen: 16324K->14750K(114688K)] 16516K->14750K(163328K) [PSPermGen: 31995K->31637K(64000K)], 0.1543430 secs] [Times: user=0.58 sys=0.00, real=0.16 secs]
...
3613.362: [Full GC [PSYoungGen: 256K->0K(47104K)] [ParOldGen: 15142K->13497K(114688K)] 15398K->13497K(161792K) [PSPermGen: 32429K->32369K(72192K)], 0.1129070 secs] [Times: user=0.51 sys=0.00, real=0.11 secs]
...
7215.278: [Full GC [PSYoungGen: 224K->0K(44544K)] [ParOldGen: 13665K->13439K(114688K)] 13889K->13439K(159232K) [PSPermGen: 32426K->32423K(70144K)], 0.0881450 secs] [Times: user=0.44 sys=0.00, real=0.09 secs]
...

现在,我可以将看似随机的性能下降与每次经过大约3600秒时运行的Full GC关联起来。 将VisualVM附加到JVM令我感到困惑–没有证据表明高内存使用率会导致整个垃圾收集器运行。 与开发人员核对后,我确定他们没有通过cron作业运行显式GC。 所以我站在那儿,对GC的常规性感到困惑。

工程师对问题感到困惑时会怎么做? 他谷歌 。 就在那里,凝视着我的脸。 与担心每小时进行一次完整GC的人员进行的逐页讨论,没有任何明显的原因。

罪魁祸首-RMI。 显然,当您的应用程序通过RMI公开其服务或通过RMI使用任何服务时,您必然会有一个额外的垃圾回收周期。 正如RMI文档所述 :

“当需要确保不导出不可达的远程对象并及时进行垃圾收集时,此属性的值表示Java RMI运行时允许在本地堆的垃圾收集之间允许的最大间隔(以毫秒为单位)。 默认值为3600000毫秒(一小时)。”

暂时的解决方案是将sun.rmi.dgc.server.gcInterval长度从默认的3,600秒增加。 我想知道,当RMI过去每分钟强制一次完整的GC时,在JDK 6中引入更改之前,情况看起来如何。 考虑到当时所有的EJB狂潮,我猜没有一个应用程序在性能方面有机会。 如果您有远古时代的回忆,也许您可​​以了解一下这些应用程序如何能够度过这种疯狂。

参考: RMI强制Full GC每小时从JCG合作伙伴 Nikita Salnikov Tarnovski (在Plumbr Blog博客上)运行一次 。

翻译自: https://www.javacodegeeks.com/2013/12/rmi-enforcing-full-gc-to-run-hourly.html

rmi full gc问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345715.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【渝粤题库】国家开放大学2021春1349学前教育科研方法答案

试卷代号:1349 2021年春季学期期末统一考试 学前教育科研方法 试题答案及评分标准(开卷) (供参考) 2021年7月 一、单选题(每题4分,共20分) 1.D 2.D 3.C 4.B 5.A 二、判断题&#xff…

联邦学习 Federated Learning

应该很多人听过但是始终都没懂啥是联邦学习?百度一下发现大篇文章都说可以用来解决数据孤岛,那它又是如何来解决数据孤岛问题的? 1、联邦学习的背景介绍 近年来人工智能可谓风风火火,掀起一波又一波浪潮,从人脸识别、…

【渝粤题库】国家开放大学2021春1356高级英语听说(2)题目

试卷代号: 1356 2021年春季学期期末统一考试 高级英语听说(2) 试题 2021年7月 注意事项 一、将你的学号、姓名及分校(工作站)名称填写在答题纸的规定栏内。考试结束后,把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。 二、…

【渝粤题库】国家开放大学2021春1374班级管理题目

试卷代号:1374 2021年春季学期期末统一考试 班级管理 试题(开卷) 2021年7月 一、简答题(每题12分,共36分) 1.简述班集体建设的理念。 2.简述学生学习指导中的诊疗模式。 3.简述班主…

优化器算法Optimizer详解(BGD、SGD、MBGD、Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam)

本文将梳理: 每个算法的梯度更新规则和缺点 为了应对这个不足而提出的下一个算法 超参数的一般设定值 几种算法的效果比较 选择哪种算法 0.梯度下降法深入理解 以下为个人总结,如有错误之处,各位前辈请指出。 对于优化算法,优化…

【渝粤题库】国家开放大学2021春1396药事管理与法规(本)题目

试卷代号:1396 2021年春季学期期末统一考试 药事管理与法规(本) 试题 2021年7月 一、单选题(选出一个最佳答案填入括号.35题,每题2分,共70分) 1.( )就是药学事业的简称&a…

gradle构建_指定Gradle构建属性

gradle构建属性是用于轻松自定义Gradle构建和Gradle环境的宝贵工具。 我将在本文中演示一些用于指定Gradle构建中使用的属性的方法。 Gradle支持项目属性和系统属性 。 这篇文章中有趣的是两者之间的主要区别是如何访问它们。 项目属性更有助于按名称直接访问,而系…

【渝粤题库】国家开放大学2021春1439临床药理学题目

试卷代号:1439 2021年春季学期期末统一考试 临床药理学 试题 2021年7月 一、单项选择题(选择一个最佳选项,每题2分,共80分) 1.临床药理学研究的内容是( )。 A.临床药效学研究 B.临床药物代谢动力…

线性代数之——行列式及其性质

https://zhuanlan.zhihu.com/p/50912180

【渝粤题库】国家开放大学2021春1542投资学题目

试卷代号:1542 2021年春季学期期末统一考试 投资学 试题 2021年7月 一、名词配伍(请将你认为的正确答案的字母填入该题后的括号内。每小题3分,共15分) 1.长期投资( ) 2.同业拆借市场( &#xff…

Apache Commons ArrayUtils.toString(Object)与JDK Arrays.toString(Object)

Apache Commons Lang提供了一个ArrayUtils类,其中包含toString(Object)方法,该方法“将数组作为字符串输出”。 在本文中,我将研究当JDK提供Arrays.toString(Object [])方法[以及原始类型数组的…

【渝粤题库】国家开放大学2021春1340古代小说戏曲专题题目

试卷代号:1340 2021年春季学期期末统一考试 古代小说戏曲专题 试题(开卷) 2021年7月 一、选择题(每题1分,共10分) 1.长篇小说《海上花列传》在题材类型上属于( )。 A.历史演义小说 B…

Cauchy-Schwarz不等式

1. Cauchy不等式 ##2. 推广:HolderH\ddot{o}lderHolder不等式 3. Cauchy-Schwarz不等式 结论:任意两个向量的内积(点乘)的模平方,必定小于或等于这两个向量各自的模的乘积。 https://www.jianshu.com/p/77f9607d88d…

【渝粤题库】国家开放大学2021春1354高级英语阅读(2)题目

试卷代号:1354 2 0 2 1年春季学期期末统一考试 高级英语阅读(2) 试题 2021年7月 注意事项 一、将你的学号、姓名及分校(工作站)名称填写在答题纸的规定栏内。考试结束后,把试卷和答题纸放在桌子上。试卷和答题纸均不得带出考场。…

为Envoy构建控制平面的指南-特定于域的配置API

建立您的控制平面交互点和API表面 一旦仔细考虑了哪些组件可能构成控制平面体系结构(请参见上一章),您将要确切考虑用户将如何与控制平面进行交互,甚至更重要的是, 用户将是谁? 要回答这个问题,…

StevenBoyd--Convex optimization--0. Contents-catalog

把自己最近学习的Steven Boyd的convex optimization的内容整理一下,将思维导图发出来供自己学习及参考。

【渝粤题库】国家开放大学2021春1366英语教学理论与实践题目

试卷代号:1366 2021年春季学期期末统一考试 英语教学理论与实践 试题 2021年7月 注意事项 一、将你的学号、姓名及分校(工作站)名称填写在答题纸的规定栏内。考试结束后,把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。监考…

spring安全_Spring安全–幕后

spring安全安全任务(例如,用户身份验证和用户查看应用程序资源的授权)通常由应用程序服务器处理。 可以将这些任务委托给Spring安全性流程,以减轻应用程序服务器处理这些任务的负担。 Spring安全性基本上通过实现标准javax.servle…

建筑商和机械手

这是在OOP中命名方法的简单原理,我尝试在我的代码中遵循: 操作时是动词 , 构建时是名词 。 而已。 两者之间什么都没有。 诸如saveFile()或getTitle()不适合使用,必须重命名和重构。 此外,“操作”的方法必须始终返回v…