不是开发人员,但是我有运行Tomcat的ubuntu服务器,该服务器托管了一些应用程序,并且在最后几周突然间Tomcat开始崩溃。 因此,以今天早上停止工作的今天进入catalina.out为例,我没有发现与Java堆空间内存相关的任何信息,这有时会导致tomcat崩溃。实际上,这就是Java堆内存的配置。我认为价值观还可以。服务器内存为4 GB。
java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'
intx CompilerThreadStackSize = 0 {pd product}
uintx ErgoHeapSizeLimit = 0 {product}
uintx HeapSizePerGCThread = 87241520 {product}
uintx InitialHeapSize := 132120576 {product}
uintx LargePageHeapSizeThreshold = 134217728 {product}
uintx MaxHeapSize := 2088763392 {product}
intx ThreadStackSize = 1024 {pd product}
intx VMThreadStackSize = 1024 {pd product}
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
我想知道如何检查或开始启用hs_err_pid
日志?我检查了该日志不在服务器上。我尝试了find / -iname "hs_err_pid*"
,但未在系统上。我读了一些有关使用以下命令手动创建它的信息:java -XX:ErrorFile=/var/log/java/java_error%p.log
,但无法执行。我得到了:
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
.
.
.
.
(由于不存在,所以我在log /下创建了目录java)
问题是,当tomcat失败时,如何启用此日志或如何检查该日志是否已启用?还有另一种方法可以进行更深入的搜索,以查看导致tomcat停止工作的原因吗?除了catalina.out和此hs_err_pid.log吗?
谢谢您的帮助。