Я использую Springboot 2.1.4 с EmbeddedTomcat. Когда я запускаю свой сервер, создается файл /tmp/jar_cache###.tmp. Как я могу справиться с jar_cache###.tmp?
Я использую CENTOS 7 и версию Java "1.8.0_162".
Если я изменю tmpdir на другой каталог, а не на /tmp, то как мне справиться с большим количеством jar_cache###, созданным по умолчанию?
Использование каталога /tmp. Что делать, если jar_cache был очищен, который использовался в моем приложении?
java 46030 www DEL REG 253,2 2830 /tmp/jar_cache7122103988160656171.tmp
java 46030 www DEL REG 253,2 2842 /tmp/jar_cache8134973409906757503.tmp
java 46030 www 25r REG 253,2 414240 2830 /tmp/jar_cache7122103988160656171.tmp (deleted)
java 46030 www 27r REG 253,2 800016 2842 /tmp/jar_cache8134973409906757503.tmp (deleted)




По-видимому, в некоторых версиях SpringBoot есть ошибка, которая приводит к накоплению файлов jar_cache (в состоянии DEL):
Согласно ссылкам на трекер проблем, это было исправлено в SpringBoot 2.0.0.
Теперь я вижу из вашего вопроса, что вы используете 2.1.4, поэтому, вероятно, это не конкретная проблема, описанная выше, которая вызывает вашу проблему. Однако в первой ссылке, вероятно, есть подсказки, которые могут помочь вам понять, чем вызвана проблема твой.
Чтобы ответить на ваши вопросы:
TMPDIR повлияет на то, где создаются файлы. Попробуйте и посмотрите!мощь также можно удалить файлы, вызвав System.gc(). Да, как правило, вызывать System.gc() из соображений производительности — плохая идея. Но этот мог будет обходным путем, если файлы кеша действительно проблема.
В чем проблема с этими файлами?