2011-06-29 25 views
9

Bạn đã sử dụng MAT (Công cụ phân tích bộ nhớ) từ nhật thực. nó thực sự mát mẻ. (1.5G đống đống tập tin giết jhat, phân tích đống đống của IBM với OOME). MAT là sống động và nhanh chóng và đẹp và mạnh mẽ.cách tổng hợp @retainedHeapSize với oql trong Công cụ phân tích bộ nhớ Eclipse

Tôi tự hỏi kích thước bộ nhớ của khóa ehcahce là bao nhiêu, vì vậy hãy viết oql bên dưới.

SELECT [email protected] 
FROM net.sf.ehcache.store.compound.HashEntry c 

Thật không may, chức năng nhóm như sum(), max(), min() không tồn tại. Tôi xuất tổng hàng kết quả (khoảng 60.000) thành tệp excel và tổng trong bảng excel.

Bạn có chức năng hoặc tính năng ẩn (?)/Tính năng về sử dụng chức năng nhóm (như sum()) không?

Trả lời

6

Theo như tôi có thể nói từ tài liệu về Bộ phân tích bộ nhớ, không có hàm tổng hợp trong OQL của nó.

Tuy nhiên, trong VisualVm (có trong JDK từ 1.6 và downloadable as a standalone application), bạn có thể làm điều đó như thế này:

select sum(heap.objects('net.sf.ehcache.store.compound.HashEntry'), 'rsizeof(it)') 

hoặc, nếu bạn muốn kích thước cạn thay vì kích thước giữ lại - thay đổi "rsizeof "to" sizeof ":

select sum(heap.objects('net.sf.ehcache.store.compound.HashEntry'), 'sizeof(it)') 
2

Bạn có thể tạo Biểu đồ từ kết quả OQL - chọn biểu tượng" Hiển thị dưới dạng biểu đồ ". Từ biểu đồ này, bạn có thể tính toán kích thước được giữ lại bằng cách sử dụng biểu tượng "Calculate Precise Set".

Các vấn đề liên quan