Posts

Showing posts with the label experience

Java VisualVM và Garbage Collector trong JVM

Trong bài viết này tôi sẽ mô tả vấn đề tôi gặp phải trong quá trình phát triển dự án OCR tại công ty. Mô tả về dự án: Dự án OCR nhóm tôi làm giải quyết vấn đề xử lý ảnh định dạng .tiff. Chúng tôi có một tập ảnh tiff và cần viết một chương trình phần mềm có đầu vào là tập ảnh và đầu ra là tự động trích xuất các vùng dữ liệu đã cấu hình theo từng mẫu ảnh ra một file excel. Về cơ bản thì nhóm dự án giải quyết được vấn đề là xử lý ảnh và trích xuất dữ liệu từng vùng ra file excel. Nhưng vấn đề thực sự đã đến khi đi đến những bước test cuối cùng trước khi khách hàng nghiệm thu. Đó là xử lý với một tập dữ liệu ảnh lớn. Khoảng 3 4 nghìn ảnh trong 1 request và server phải xử lý đống ảnh đó. Lúc đầu tôi đã gặp vấn đề Out of memory khi tôi khởi chạy mặc định ứng dụng. Sau đó tôi đã tìm hiểu và cấu hình Size cho Heap để có thể tránh tràn bộ nhớ bằng tham số -Xmx. Nhưng có vẻ vấn đề được giải quyết phần nào vì dung lượng vùng nhớ đã được tăng và thỉnh thoảng vẫn gặp phải tình trạng Out of ...