我将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)
答案 0 :(得分:0)
SpringBoot的某些版本中显然存在一个错误,该错误会导致jar_cache
文件(处于DEL状态)累积:
根据问题跟踪链接,此问题已在SpringBoot 2.0.0中修复。
现在我从您的问题中看到您正在使用2.1.4,所以可能不是导致您出现问题的上述特定问题。但是,第一个链接中可能有一些线索可能会帮助您弄清是什么原因引起的。
要回答您的问题:
TMPDIR
会影响文件的创建位置。试试看吧! 可能也可以通过调用System.gc()
使文件消失。是的,出于性能原因,通常调用System.gc()
是一个坏主意。但是,如果缓存文件确实有问题,可以使用 解决方案。