- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我们最近将许多应用程序从在 RedHat linux JDK1.6.0_03 下运行的迁移到 Solaris 10u8 JDK1.6.0_16(更高规范的机器),我们注意到一个似乎相当紧迫的问题:在某些负载下我们的 JVM 让自己陷入“死亡螺旋”并最终耗尽内存。注意事项:
SIGSEGV
错误而崩溃 最重要的一点是:这种行为表现在那些突然获得大量数据(通常通过 TCP)的应用程序中。就好像 VM 决定继续添加更多数据(可能将其推进到 TG),而不是在“新空间”上运行 GC,直到它意识到它必须执行完整的 GC,然后,尽管几乎所有内容都在VM 是垃圾,它以某种方式决定不收集它!
这听起来很疯狂,但我只是看不出还有什么。你怎么能解释一个应用程序在最大堆为 1Gb 的情况下一分钟崩溃而下一个工作正常(当应用程序执行完全相同的事情时,永远不会达到大约 256M)
所以我的问题是:
最佳答案
有趣的问题。听起来其中一个垃圾收集器在您的特定情况下效果不佳。
您是否尝试过更改正在使用的垃圾收集器?有很多 GC 选项,找出哪些是最优的似乎有点玄学,但我想知道一个基本的改变是否适合你。
我知道有一个“服务器”GC 往往比默认的更好。你在用吗?
线程 GC(我认为这是默认设置)对于您的特定情况可能是最糟糕的,我注意到当机器繁忙时它往往不那么激进。
我注意到一件事,通常需要两次 GC 才能说服 Java 真正取出垃圾。我认为第一个倾向于取消链接一堆对象,第二个实际上删除了它们。您可能想要做的是偶尔强制进行两次垃圾回收。这将导致严重的 GC 暂停,但我从未见过需要两次以上才能清理整个堆的情况。
关于java - JVM OutOfMemory 错误 "death spiral"(不是内存泄漏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2297920/
我正在尝试设置 RabbitMQ 以根据死亡原因通过死信交换路由消息(“x-death.reason”或“x-first-death-reason”都可以)。 我的理解是,当消息被发送到 DLX 时,
我一直在阅读关于在 Windows XP 和 Windows Server 2003 上针对 GDI+ 的旧漏洞利用。我正在做的一个项目被称为死亡 JPEG。 漏洞利用在以下链接中有很好的解释: ht
所以我是 C++ 的新手,我目前正在为一项任务开发一个“死亡之战”游戏,但我被卡住了。 基本上,作为玩家,您可以使用每种武器一定次数:Canon 3 次,Grenade 4 次。步枪是无限的。 当我使
我从 logcat 得到以下语句,就在一些成功的日志语句表明我的应用程序运行正常(统计输出等)之后: I/WindowState( 425): WIN DEATH: Window{4244e028
可能每个人在开发过程中都至少遇到过一次这个问题: while(/*some condition here that somehow never will be false*/) { ...
我很确定自己不仅是注意到PHP上的简单解析错误(如果存在于非常嵌套的场景中)的人(例如,引用另一个对象实例的对象实例引用了另一个解析错误很小的对象实例) ,它们全部被自动加载)可以使PHP永久挂起,而
我正在尝试使用批量加载器功能将大小适中的 csv 文件上传到 Google 应用引擎,但它似乎在中途死亡,结果如下: [INFO ] Logging to bulkloader-log-2011
我想将“死刑方法”与遗传算法文献中提出的其他惩罚方法进行比较。 我用的是R软件,所以需要写这些惩罚方法的代码。我发现了很多困难,因为我不了解关于死刑函数的一件事:我必须如何处理不可行的后代,因为人口规
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve thi
我正在寻找最合适的类作为从我的 Activity 调用的 AsyncTasks 的调度程序。 我认为它可能是其中之一: 应用程序的子类; 服务的子类; 我自己的静态 东西。 至于我 - 实现第三个选择
Epic游戏《《死神来了(Death Coming)》是一款呆萌像素风格的非线性解谜游戏 目前在Epic商城上限时免费 大家想玩的可以点击下方链接 添加游戏进入账号内然后下载玩耍 下载地址:
我正在尝试找到一种方法来模拟set -e在函数中的行为,但仅在该函数的范围内。 基本上,我想要一个函数,如果有任何简单的命令将触发set -e,它将返回1的上一级。目的是将有风险的工作集隔离为功能,以
我在 Android 1.5 模拟器(在 OS X 下运行)上遇到随机崩溃(尽管它们总是同时发生)。代码是针对 1.5 API 构建的,在其他版本上运行良好。应用程序在 HTC Hero 上执行相同操
我用cocos2d-x开发了一个游戏。我试着在android下编译它。前三个场景很好 - 但当我添加最后一个功能时,应用程序开始在随机时间和随机场景中关闭。 相关日志如下: 04-18 15:30:5
我正在查看 https://developer.android.com/topic/libraries/architecture/saving-states .它提到“系统启动的进程死亡”。它到底是什
我有一个启动服务的 Activity 。 在我的 Activity 中: startService(new Intent(this, MyService.class)); 在我的服务中,onStart
我知道这听起来是个懒惰的问题..但我真的不知道这种情况是如何发生的,我在谷歌上也找不到太多相关信息。 背景: 这是一个带有 IPC 的应用程序:我有一个在单独进程中运行的服务。有时,服务被杀死了……但
有时,我的应用程序被卡住,然后崩溃。 我阅读了系统日志,并在系统日志的最后几行中看到我的 Activity 出现一些“WIN DEATH”错误。 谁能告诉我原因并告诉我解决方法? 非常感谢! 这是系统
我有一个运行 Yii 应用程序的暂存服务器,现在显示“白屏死机”。我看不到任何东西被输出到屏幕上(甚至在“查看源代码”时看不到源代码),相同的代码在本地运行没有任何问题。 谁能推荐一个在 Yii 应用
据说 "static methods are death to testability" 。如果是这样,下面的可行替代模式是什么? class User { private $phone,
我是一名优秀的程序员,十分优秀!