Tại nơi làm việc chúng tôi thấy rằng trên một số trường hợp (đặc biệt là những người chậm), chúng tôi có một hành vi khác nhau, có được khi khởi động lại.Chúng ta có thể xem các đối tượng trong bộ nhớ JVM không?
Chúng tôi đoán bộ nhớ cache không được khởi tạo chính xác hoặc có thể là sự cố đồng thời ... Dù sao nó không thể sinh sản trong bất kỳ ENV nào khác ngoài sản xuất.
Chúng tôi thực sự không có logger để kích hoạt ... nó là một thành phần cũ ...
Vì vậy tôi muốn biết nếu có các công cụ có thể giúp chúng ta nhìn thấy các objets khác nhau hiện diện trong bộ nhớ JVM để kiểm tra nội dung của bộ nhớ cache ...
Cảm ơn bạn!
Edit:
Tôi không có quyền truy cập vào các máy chủ sản xuất trực tiếp, máy chủ ứng dụng của chúng tôi là WebLogic 10, tôi không có một con trỏ đến đối tượng, nhưng tôi biết loại đối tượng bộ nhớ cache ..
Edit2:.
máy chủ của chúng tôi đang chạy trên jre 1.5, là nó có thể sử dụng jmap? không thể tìm thấy nó trong một jdk5 :( Ngoài ra, gỡ lỗi từ xa có thể là tốt đẹp, nhưng chúng ta không thể vì những lý do an ninh ...
Edit3:
Trên thực tế jhat + VisualVM là ok đối với tôi, tôi tìm thấy đối tượng của tôi trong dump nhưng tôi không thể đọc hashmap (đối tượng chứa khoảng 60000 mặt hàng) đúng cách ... Có một công cụ để đọc một concurrenthashmap một cách thân thiện? i cần phải tìm giá trị của một khóa (hoặc sự tồn tại của nó trong bản đồ) mà không cần duyệt các bản ghi 60k theo cách thủ công Thực ra tôi đã đọc trên diễn đàn MAT eclipse rằng nó cũng không thể với ...
Chỉnh sửa4: Sau một số trải nghiệm tôi thực sự thích các công cụ như VisualVM. Cũng sử dụng YourKit. Có một số tính năng hữu ích như OQL để tìm các trường hợp phù hợp bạn cần xem ...
Tôi không biết cách để truy cập đối tượng mà không có một số loại tham chiếu con trỏ/biến. – aperkins