java - 调试 Java 进程在 1 小时内被杀死
问题描述
我正在开发一个需要使用 python 脚本调用的 Java 服务,有点像这样:
def start_java_service(self, set_id):
p = subprocess.Popen(['nohup', 'java', '-jar', 'SetProcessor.jar', set_id], cwd='/path/to/jar/directory')
此 python 脚本将由Amazon SSM 代理调用。问题是,一旦 Java 服务完成 1 小时的执行,它就会自动终止。
谁能帮我解决这个问题的调试步骤?
编辑
我发现如果我自己运行 Java 服务,它工作得很好。但是,如果它被 SSM 调用,它会在1 小时后被杀死
解决方案
可能有各种原因,
最常见的一种是消耗过多的内存,这可能会触发操作系统终止进程:要对此进行故障排除,只需运行
dmesg | grep '杀死进程'
为了更好地了解内存的去向,您可以使用 jmap,
- 在这种情况下,另一个可能是由于未处理的异常,请确保您正在检查日志。
推荐阅读
- php - Laravel 在控制器中附加额外数据以及自定义响应
- php - 用php删除mySQL行
- c++ - 宏 htonl 将内部逗号解释为参数分隔符
- php - 无法在邮递员中测试 PHP 方法
- apache-flink - 在 Flink 的聚合原语中具有等效于 HOP_START
- dart - 如何在 Dart 中使用 `combineReducers` 指定类型注释?
- python - 从 python pandas 数据框中删除一些元素
- c# - C#通过单击标题对DataGridView进行排序给出了错误的顺序
- handsontable - Handsontable - 自定义 HTML 标头渲染器 -
- node.js - 如何使用护照身份验证更新包含 jwt 的 cookie