【问题标题】:huge amount of +~JF****.tmp files in /var/cache/tomcat7/temp/var/cache/tomcat7/temp 中有大量 +~JF****.tmp 文件
【发布时间】:2016-08-05 06:56:47
【问题描述】:

在我的 tomcat 临时文件夹中,我有 2.5Gb 的 +~JF****.tmp 文件,文件大小为 ~750K 或 ~23M

$ pwd
/var/cache/tomcat7/temp
$ ls -lt
-rw------- 1 tomcat tomcat 23278008 06:47  5 Th08 +~JF2247741302721424357.tmp
-rw------- 1 tomcat tomcat   773236 06:47  5 Th08 +~JF2626850872018060030.tmp
-rw------- 1 tomcat tomcat   750984 06:47  5 Th08 +~JF6955350201064404318.tmp
-rw------- 1 tomcat tomcat 23278008 06:34  5 Th08 +~JF5760450811263657816.tmp
...

我让你搜索过这个问题,但我发现的只是 Jasper 报告字体问题,这对我来说没有意义,我的项目没有使用 Jasper。

你知道为什么吗?

谢谢

【问题讨论】:

  • 不是 jasper 而是 java.awt.Font.createFont 执行此操作。所以也许你正在其他地方使用字体。
  • 谢谢,我发现我正在使用的库之一是通过创建字体来做到这一点的

标签: tomcat7 java-7 tmp


【解决方案1】:

我们面临着类似的问题,我想分享一下我的发现:

java.awt.Font.createFont(int i, java.io.InputStream in) 生成一个名为 +~XXXX.tmp 的临时文件(其中 XXXX 是一个长数字)。

当JVM结束时,所有这些文件都被删除。

当 JVM 突然结束时会出现问题,因为它不会删除临时文件,或者对于长时间运行的 JVM(即:Tomcat 生产服务器)。

我们所做的只是改变了字体创建方法和使用:

java.awt.Font.createFont(int i, java.io.File f)

使用此方法不再创建临时文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-09-29
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 2013-06-04
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    相关资源
    最近更新 更多