JDK 21를 사용할 경우,
MultipartFile.getBytes()
메서드 호출시 아래 사진과 같이 Direct Buffer Memory가 부족하여Out of Memory Error
가 발생하는 경우가 있습니다.다만, 동일한 소스코드로 JDK 17을 사용할 경우에는 발생하지 않습니다.
따라서 두 JDK 버전 간의 Direct Buffer Memory 사용량을 비교하는 글 입니다.
자세한 내용은 노션에서 확인하실 수 있습니다.
- junhyunny 님의 블로그 글을 참고했으며, 원본 글로부터 아래 내용을 첨언하였습니다.
- Apache Jmeter 사용 방법
- VisualVM 사용 방법
- jcmd 사용 방법
- Spring Boot 실행 시, JVM Option 설명
- InputStream 디폴트 버퍼 크기 변경으로 인한 내용 최신화
- (8192Byte → 16384Byte)