Я запускаю сервер с помощью следующей команды:
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000 -server -jar -Dlog4j.configurationFile=properties/log4j2.xml myApp.jar
Сервер работает в облаке AWS (небольшой экземпляр EC2), и порт 8000 открыт, так что отладчик (IntelliJ, вВ моем случае) можно подключиться к удаленной JVM по протоколу JDWP.
Проблема в том, что иногда сервер неожиданно завершает работу со следующим сообщением:
JDWP exit error JVMTI_ERROR_OUT_OF_MEMORY(110): Can't allocate jvmti memory [:1797]
FATAL ERROR in native method: JDWP Can't allocate jvmti memory, jvmtiError=JVMTI_ERROR_OUT_OF_MEMORY(110)
Aborted (core dumped)
Похоже, что «недостаточно памяти»ошибка связана с JDWP, а не с кодом.
Я видел JVMTI_ERROR_OUT_OF_MEMORY
несколько раз, но никогда не видел java.lang.OutOfMemoryError
из самого приложения.
Как можно устранить эту ошибку jdwp?Является ли отключение отладчика jdwp единственным способом?