Những công cụ nào có sẵn để xem đầu ra của trình biên dịch JVM dựng sẵn? Ví dụ: Tôi đang bắt đầu JVM của mình với:Công cụ đồ họa giống như HPjmeter để xem -agentlib: đầu ra hồ sơ hprof
-agentlib:hprof=cpu=times,thread=y,cutoff=0,format=a,file=someFile.hprof.txt
Điều này tạo ra đầu ra ở định dạng hprof ("JAVA PROFILE 1.0.1").
Tôi đã thành công trong quá khứ bằng cách sử dụng HPjmeter để xem các tệp đầu ra này một cách hợp lý. Tuy nhiên, vì lý do gì các tập tin được tạo ra bằng cách sử dụng phiên bản hiện hành của Sun JVM không tải trong phiên bản hiện tại của HPjmeter:
java.lang.NullPointerException
at com.hp.jmeter.f.jb.a(Unknown Source)
at com.hp.jmeter.f.a.a(Unknown Source)
at com.hp.c.a.j.z.run(Unknown Source)
Exception in thread "HPeprofDataFileReaderThread" java.lang.AssertionError: null pointer exception from loader
at com.hp.jmeter.f.a.a(Unknown Source)
at com.hp.c.a.j.z.run(Unknown Source)
(Tại sao họ sẽ xáo trộn những bytecode cho một sản phẩm miễn phí ?!)
Hai câu hỏi nảy sinh từ đây:
- Có ai biết nguyên nhân của lỗi HPjmeter này? (EDIT: Có - xem bên dưới)
- Công cụ nào khác tồn tại để đọc tệp hprof? Và tại sao không có từ Sun (có)?
Tôi biết Eclipse TPTP và các công cụ khác có thể theo dõi dữ liệu JVMTI khi đang bay, nhưng tôi cần một giải pháp mà có thể xử lý các tập tin được tạo hprof sau khi thực tế kể từ khi máy được triển khai chỉ có một JRE (không phải là một JDK) intalled .
EDIT: Một nhà phát triển HPjmeter rất hữu ích replied to question on an HP ITRC forum của tôi chỉ ra rằng heap=dump
cần phải được bao gồm trong -agentlib
tùy chọn tạm thời cho đến khi một lỗi trong HPjmeter là cố định. Thông tin này làm cho HPjmeter khả thi trở lại, nhưng tôi sẽ vẫn để câu hỏi mở để xem có ai biết về bất kỳ công cụ nào khác không.
EDIT: Kể từ phiên bản 4.0.00 của HPjmeter (có sẵn 05/2009) lỗi này đã được sửa.
VisualVM dường như chỉ tải thông tin "heap dump" (không phải dữ liệu lược tả) ra khỏi tệp hprof và apppears để treo tải tệp cho dù sao đi nữa. Bạn đã thành công với điều này chưa? Tôi đang thực sự tìm kiếm một cái gì đó> = HPJmeter hoạt động :-) –
Thật không may tôi đã không sử dụng nó được nêu ra ... chỉ cần nhận thức của nó. Bạn đã thử sử dụng Visual VM để làm hồ sơ (nhưng có vẻ như bạn thực sự muốn một người xem offline)? – TofuBeer
Vâng, chắc chắn có một loạt các công cụ tôi có thể sử dụng để cấu hình tại địa phương, nhưng nó sẽ là tốt đẹp để có một cái gì đó mà có thể hiển thị các tập tin hprof ẩn. HPJmeter rất gần, nếu tôi chỉ có thể làm cho nó hoạt động. Tôi ước họ phân phối mã nguồn. –