当前位置: 首页 > 知识库问答 >
问题:

在CentOS中禁用UseGCOverdeLimit

栾越
2023-03-14

我需要禁用我的CentOS服务器中的GC开销限制。这样做的原因是暂时防止java.lang.OutOfMemoryError: GC开销限制超过异常。

但是我在Linux Java系统方面是零,对于如何运行这个命令行没有任何线索:-XX:-usegcOverdeLimit

共有1个答案

夏侯朝斑
2023-03-14

您需要将其作为参数传递给JVM。你说你在ApacheTomcat中托管了一个webapp。您可以将环境变量CATALINA\u OPTS设置为等于-XX:-usegcoveredlimit。如果您将tomcat作为服务运行,则必须在实际启动tomcat的脚本中执行此操作,事实上,CentOS的tomcat脚本中可能有一个CATALINA\u OPTS变量,您可以添加或设置该变量。

也就是说,消除垃圾收集器由于开销而抛出OutOfMemoryError(OOME)的能力可能无法解决问题。由于开销导致的OOME基本上意味着由于GC操作花费了大量时间,程序没有取得任何有用的进展。当可用内存非常低并且必须频繁进行大量完整的GC传递时,就会发生这种情况。如果禁用该错误,则程序可能只是变得无响应,然后在将来的某个未定义点实际耗尽堆中的内存,这仍然会导致抛出OOME以获得堆空间,而不是开销。

更好的解决方案是通过使用-Xmx参数(再次通过CATALINA\u OPTS传入)来增加允许Tomcat使用的内存量<例如,代码>-Xmx2g会将最大堆设置为2 GiB。

 类似资料:
  • 问题内容: 我们的一个内部应用程序在页面上有一个Flash对象。当浏览器中 没有 可用的Flash插件/未安装Flash插件时,我需要测试以下 几种情况 : 内部(pepperflash)或系统范围的Adobe Flash Player插件 。 根据Chromium命令行开关列表文档页面,有一个相关的命令行开关: -禁用捆绑的PPAPI版本的Flash。 但是,这只会关闭Pepperflash内部

  • 问题内容: 我需要将docker设置为在运行Amazon Linux(centos)的主机上侦听tcp://0.0.0.0/4243。我看过的所有文档都告诉我运行以下命令 它将正确的docker_opts写入/ etc / default / docker。我已经做到了,但是当我重新启动docker时,它不会监听127.0.0.1 我可以通过键入以下命令使docker正确运行 那行得通,但是我希望

  • (在中)有一个名为的属性,它可以轻松地禁用/启用所述布局约束。 要为视图控制器创建第二个布局集,然后可以通过编程方式启用/禁用该布局集(通过两个布局集的NSLayoutConstraints的IBMoutletCollection),我需要在interface builder中禁用已定义的布局约束。 让我明确一下,我不想删除它们,只需禁用它们,这样我就可以设计第二个集合,而无需界面生成器一直抱怨约

  • 问题内容: 在Swing中,我们可以禁用这样的按钮: 无论如何,使用JavaFX Button可以做到这一点吗?用户只能按一次按钮。 问题答案: 当然。只有相关 属性具有相反的语义,并称为。这意味着您可以使用(not )和。由于它是JavaFX属性,因此您还可以将侦听器附加到。 在http://docs.oracle.com/javafx/2/api/javafx/scene/Node.html#

  • 问题内容: 我用Java开发的软件有问题。用户必须在JtextPane中编写文本。如果没有时间给他写信,则会出现一个弹出窗口。唯一的问题是:如果在弹出消息时用户正在写,则弹出窗口消失,因为按下的键验证了消息。 无论如何,我可以禁用此功能吗?我用它来创建MessageDialog: 谢谢阅读。 问题答案: 禁用正常的应用程序行为(例如,使用键操作对话框)不是一个好主意。它使许多用户感到困惑,这些用户

  • 问题内容: 我有一些缓存问题。我正在运行一个很小的Web应用程序,该应用程序读取一帧并将其保存到磁盘,然后在浏览器窗口中显示。 我知道,这可能不是最好的解决方案,但是每次我使用相同的名称保存此读取帧时,任何浏览器都会对其进行缓存。 我试图使用html meta-tags-没有成功: 另外,我已经尝试过这一步骤(特定于烧瓶): 这是我尝试修改标头的方式: Google Chrome和Safari仍然