Tomcat 8.5内存

时间:2018-07-09 20:59:51

标签: java rest tomcat java-8 tomcat8

我在Tomcat 8.5上具有jdk1.8.0_171的其余Web服务。我通过浏览器(例如mozilla)执行了Web服务,但未显示json输出。好的,对于Tomcat / Java,json输出被认为很大。

因此,在tomcat / bin / catalina.sh文件中,我添加了:

JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS -Xms256m -Xmx1024m"

该文件旁边包含:

if [ -z "$JSSE_OPTS" ] ; then
  JSSE_OPTS="-Djdk.tls.ephemeralDHKeySize=2048"
fi

此外,tomcat服务器状态显示: 可用内存:139.46 MB总内存:247.56 MB最大内存:989.87 MB

Memory Pool     Type             Initial    Total      Maximum      Used
Eden Space      Heap memory     68.31 MB    68.37 MB    273.06 MB   28.33 MB (10%)
Survivor Space  Heap memory     8.50 MB     8.50 MB     34.12 MB    4.90 MB (14%)
Tenured Gen     Heap memory     170.68 MB   170.68 MB   682.68 MB   74.84 MB (10%)
Code Cache      Non-heap memory 2.43 MB     36.00 MB    240.00 MB   35.52 MB (14%)
Compressed Class Space  
                Non-heap memory 0.00 MB     11.87 MB    1024.00 MB  11.10 MB (1%)
Metaspace   Non-heap memory     0.00 MB     92.62 MB    -0.00 MB    88.85 MB

Spring mvc用于生成大小为334273个字符的json输出。代码没有错误(Java异常)

那么在这种情况下缺少什么呢?如何增加剩余服务的内存使用率?在我的本地PC上,使用相同的服务/战争和逻辑效果很好

致谢

1 个答案:

答案 0 :(得分:0)

在服务器测试中,我们有超过6gb的RAM,因此我认为未按应在Java上分配内存堆的数量。

然后,我添加了maxHttpHeaderSize并在Tomcat配置上删除了-Xms256m -Xmx1024m,并且在进行测试后可以正常工作。

所以失败的原因是响应HTTP标头的最大大小,而不是我认为的内存。