Как мне справиться с /tmp/jar_cache#######.tmp?

Я использую Springboot 2.1.4 с EmbeddedTomcat. Когда я запускаю свой сервер, создается файл /tmp/jar_cache###.tmp. Как я могу справиться с jar_cache###.tmp?

Я использую CENTOS 7 и версию Java "1.8.0_162".

  1. Если я изменю tmpdir на другой каталог, а не на /tmp, то как мне справиться с большим количеством jar_cache###, созданным по умолчанию?

  2. Использование каталога /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)

В чем проблема с этими файлами?

LMC 25.04.2019 04:55
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
1 152
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

По-видимому, в некоторых версиях SpringBoot есть ошибка, которая приводит к накоплению файлов jar_cache (в состоянии DEL):

Согласно ссылкам на трекер проблем, это было исправлено в SpringBoot 2.0.0.

Теперь я вижу из вашего вопроса, что вы используете 2.1.4, поэтому, вероятно, это не конкретная проблема, описанная выше, которая вызывает вашу проблему. Однако в первой ссылке, вероятно, есть подсказки, которые могут помочь вам понять, чем вызвана проблема твой.

Чтобы ответить на ваши вопросы:

  1. Да, они создаются по умолчанию, но их следует очищать при перезапуске приложения.
  2. Я ожидаю, что изменение TMPDIR повлияет на то, где создаются файлы. Попробуйте и посмотрите!
  3. Удаление файлов из каталога не освободит файловое пространство, если приложение все еще имеет открытые файлы.

мощь также можно удалить файлы, вызвав System.gc(). Да, как правило, вызывать System.gc() из соображений производительности — плохая идея. Но этот мог будет обходным путем, если файлы кеша действительно проблема.

Другие вопросы по теме