gpt4 book ai didi

java - 从 JVM 捕获 SIGTERM

转载 作者:行者123 更新时间:2023-11-28 22:20:56 26 4
gpt4 key购买 nike

在 bash 中有一个有用的命令 trap。它拦截各种信号,如 SIGKILLSIGHUP 等进行处理。

所以...我们有一个问题,即 Tomcat 有时会在没有任何明显原因的情况下死机。并且 - 日志文件中没有任何有用的信息。

我的想法是在它的 java-analog 命令中添加 trap 以在 JVMTomcat 之前收集 jstack死。

如何在 Java 中实现?请注意——我不是 Java 程序员。

感谢任何提示。

最佳答案

JVM(至少是 Oracle)已经安装了信号处理程序并将信号转换为异常和其他有用的东西。参见 http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-VM/html/signals.html .

通常,当 Tomcat 在没有日志的情况下死机时,这是堆栈或堆空间用完的症状(Tomcat 与 Web 应用程序在同一 JVM 中运行,行为不当的应用程序可能会在日志被刷新之前使服务器崩溃)。

您使用的是什么版本的 Tomcat?如果您使用的是 Tomcat 6+,则可以完全禁用日志缓冲,以便最终消息在写入时刷新。参见 http://tomcat.apache.org/tomcat-6.0-doc/logging.html .

对于 JULI ,负的 bufferSize 将在每次写入后强制刷新。

关于java - 从 JVM 捕获 SIGTERM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20066075/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com