使用thumbnailator導致OOM問題
thumbnailator
最近項目需要用戶上傳個人的圖片以便於考勤打卡,但是考慮到用戶上傳的圖片可能比較大,所以使用了thumbnailator進行壓縮處理,日常測試時未發現任何問題,但是上線之後導致了OOM,經過排查發現是用thumbnailator進行壓縮時,消耗的內存太高,雖然上傳之後能夠快速的釋放內存,但是在併發的情況下,內存的消耗達到頂峯,就會導致OOM.
//代碼
Thumbnails.of(desPath).size(desWidth, desHeight)
.outputQuality(accuracy).toFile(desPath);
後面使用了阿里的oss的文件壓縮解決的這個問題