Nếu bạn là rất nhiều mối quan tâm với chạy một hồ sơ trong môi trường sản xuất chạy -histo jmap: live pid
histogram là tóm tắt của heap, trọng lượng rất Lite của nó và sẽ mất rất ít thời gian để tạo ra dữ liệu cho bạn. Điều này sẽ được sử dụng tốt nếu bạn không có HeapDumpOnOutOfMemoryError không được thiết lập.
Nó luôn luôn tốt hơn để có một đống đống trên OOME Java cung cấp một chuyển đổi hệ thống để làm điều này bằng cờ -XX: + HeapDumpOnOutOfMemoryError này sẽ tạo tệp kết xuất đống.
Tệp kết xuất tệp chứa tất cả các thông tin liên quan đến đối tượng trong đó. Nó có thể dễ dàng được phân tích bằng cách sử dụng jhat. Điều này sẽ mở tệp kết xuất và phân tích dữ liệu và nghe một cổng sẽ được hiển thị trong bảng điều khiển.
Nếu nhật ký GC được định cấu hình, hãy xem nhật ký GC và xác định thời gian từ khi mức tiêu thụ bộ nhớ tăng đáng kể. Từ nhật ký, hãy thử xác định các hành động được thực hiện/yêu cầu được xử lý bởi tomcat của bạn, đi qua mã và cố gắng xác định xem có bất kỳ rò rỉ bộ nhớ nào gây ra trong mã không. Bạn có thể sử dụng biểu đồ dưới dạng tham chiếu vì histo cũng cung cấp các đối tượng.
Nếu bạn đang sử dụng một số bộ nhớ cache trong ứng dụng của bạn kiểm tra kích thước tối đa cấu hình cho bộ nhớ cache là gì, hoặc là bộ nhớ cache sẽ bị xóa đều đặn ....
Hy vọng điều này là hữu ích.