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

Tomcat 7-无法使CATALINA_OPTS堆大小正常工作

怀飞扬
2023-03-14

我在catalina.sh中设置CATALINA_OPTS,但奇怪的是,这个值似乎被忽略了。我在一台有768M内存的机器上。以下是复制的步骤

在启动Tomcat之前,我通过运行free-m检查内存。我得到以下信息

    total       used       free     shared    buffers     cached
    768         43        724          0          0         16

我在catalina.sh的第一行设置了CATALINA_OPTS,如下所示:

export CATALINA_OPTS="-Xms64M -Xmx256M"
       total       used       free     shared    buffers     cached
       768        558        209          0          0         20

这表明使用了512MB。我不确定我做错了什么。我还尝试设置JAVA_OPTS,但也不起作用。

我在Centos6上使用JDK7和Apache Tomcat7。

编辑1:下面是将-xmx值分别设置为128和64的结果

       total       used       free     shared    buffers     cached
       768        432        335          0          0         39
       total       used       free     shared    buffers     cached
       768        366        401          0          0         32

共有1个答案

路和悌
2023-03-14

请注意,堆并不是java获得的唯一内存块。此外,如果Tomcat的启动进程使用了超过64M的内存,JVM将很乐意分配更多的内存到-xmx值。但这并不是全部--各种堆栈的堆栈占用内存,以及要加载的类。还有PermGen内存,它也占据了堆内存的顶部。

查看这篇文章,了解关于您正在处理的各种内存的更多讨论。考虑到当前的内存价格,升级服务器以获得更多内存可能比在这一级别上优化应用程序的内存消耗更便宜。

 类似资料:
  • 问题内容: 如果我想创建自己的自定义商品,并且想设置首选尺寸,该如何做。我以为这可能很容易,但是当我达到它时,我便有了一个尺寸,可以将其发送到我喜欢的尺寸。 但是,然后如何为我的特定组件设置正确的 x , y , width 和 height 值。从同一个方法中再次调用似乎很多余? 这是我对覆盖A感到奇怪的事情。我知道他们应该如何与。 我希望我的新按钮具有首选大小(这是默认大小),即。 我想在没有

  • 我下面的教程视频链接在这里:http://www.youtube.com/watch?v=wAwQ-noyB98 我安装了Matplotlib,包括其他必要的库:Numpy、dateutil、pytz、pyparsing和六个。 现在,我正在尝试以下命令: 导入matplotlib.pyplot plt。图([1,2,3,4,5,6,7],[5,6,7,8,9,10,11]) 我期待着某种图形出现

  • 来自Mongo Shell 工作并将记录打印到屏幕上。 从快递 我每次都得到空响应。我尝试过不使用ObjectId包装,但我仍然得到空值。mongoDB连接很好,因为我有一个成功返回所有消息。 我做错了什么?

  • 我使用的是64位Ubuntu和java VM64位版本。 我有8GB内存。 我无法将java堆大小更改为4096M,甚至2048M也不行。 我试过这些东西: 产出: x86_64 OpenJDK 64位服务器VM(构建11.0.4+11-post-ubuntu-1ubuntu218.04.3,混合模式,共享) 当我试图更改堆大小时: 输出

  • 问题内容: 因此,我的设置无法按我想要的方式工作。因此,每当我运行该程序时,它就会立即从0变为100。我尝试使用,任务,并尝试了,但没有任何尝试。 这是我的程序: @MadProgrammer这是我尝试做一名摆动工作人员并将每个名称写入文档并更新进度栏的尝试。该程序将达到86%左右并停止运行,永远不会创建完成的文档。该程序将创建一个空白文档。这是我首先创建的SwingWorker对象,这是两种方法

  • 问题内容: 我在JLayeredpane上有两个JPanels。其中一个显示pdf,重叠的一个具有透明背景(我使用过setOpaque(false))。现在,我可以将图形添加到透明面板中,这样看来我实际上是在注释pdf。我想要一个橡皮擦工具来删除这些注释。我尝试使用以下代码 其中path是由多条线构成的形状。现在,不是在先前的图形上绘制 透明线 ,而是绘制 黑线 。我要去哪里错了? 问题答案: 请