
Java 앱(Spring Boot 프레임워크 위에)이 systemd 서비스로 설치되어 있습니다.
[Unit]
Description=${module_name}-service
Requires=network.target
After=syslog.target
[Service]
User=${user_name}
ExecStart=/opt/${module_name}/${module_name}-${version}.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
OutOfMemory 오류 후 자동 재시작과 같은 일부 조건의 서비스 재시작을 관리하는 방법
답변1
Fildor가 말했듯이 메모리 문제를 해결하는 것이 좋습니다.
그 후 가능한 해결책은 다음과 같습니다.
8u92 이전 Java를 사용하는 경우 JVM에 다음 인수를 추가할 수 있습니다.
java -jar <jar-name> -XX:OnOutOfMemoryError="kill -9 %p"
Java 버전 8u92 이상에서는 -XX:+CrashOnOutOfMemory
또는-XX:+ExitOnOutOfMemoryError
그런 다음 충돌 시 다시 시작되도록 서비스를 구성합니다.
Restart=on-failure
또는
Restart=always