Отладка Java-процесса прекращается за 1 час - PullRequest
0 голосов
/ 30 апреля 2018

Я работаю над Java-сервисом, который нужно вызывать с помощью скрипта Python, примерно так:

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 час выполнения, его автоматически убивают.

Может кто-нибудь помочь мне с этапами отладки для этой проблемы?

EDIT

Я обнаружил, что если я сам запускаю Java-сервис, он работает нормально. Но, если его вызывают SSM, его убивают ровно через 1 час

1 Ответ

0 голосов
/ 30 апреля 2018

Могут быть разные причины,

  • наиболее распространенным является использование слишком большого объема памяти, что может привести к тому, что ОС прекратит процесс: для устранения проблемы просто запустите

    dmesg | grep 'убитый процесс'

Чтобы лучше понять, куда уходит память, вы можете использовать jmap,

  • другое может быть связано с неуправляемым исключением, в этом случае убедитесь, что вы проверяете журналы.
...