본문 바로가기
Programming/버그 일지

tomcat에 temp폴더에 있는 엄청난 양의 +~JF **** .tmp파일 해결방법

by 배고프당 2020. 11. 26.
728x90

서버에 있는 tomcat의 temp 폴더 위치에 5기가 넘는 +~JF****.tmp 파일이 있으며 파일의 크기 또한 다양하게 많이 존재를 하는 경우가 있었다.

 

구글링을 좀 하다보니 글꼴문제에 관련된 것으로 JVM이 정상적으로 종료되면 이러한 파일들이 모두 삭제가 되야 하지만 메모리 문제로 인해 shutdown 명령어가 안먹고 kill로 죽이는 경우가 종종 있었는데 JVM이 정상적으로 종료가 되지않아 일어난 문제였다.

 

임시파일이 생성되는 이유는 아래와 같이 InputStream으로 사용하는 경우이다.

1) java.awt.Font.createFont(int i, java.io.InputStream in)

 - 이렇게 되면 +~JFXXXX.tmp( XXXX는 긴 숫자를 의미함) 형식의 이름이 생성된다.

 - JVM이 종료되면 이러한 모든 파일이 정상적으로 삭제됨

 - 임시 파일을 삭제하지않거나, 운영에 적용중인 (장기 실행중인 JVM)의 경우 갑자기 종료가 될때 문제가 발생함.

 

해결방법: 글꼴 생성 방법을 변경한다.

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

 

728x90

댓글