Trình cấu hình Java nguồn mở [đã đóng]


94

Các bạn có thể khuyên dùng gì với Java?

Yêu cầu duy nhất là nó phải là mã nguồn mở, hoặc có giấy phép học thuật không quá đắt.


4
Khi bạn nói mã nguồn mở, bạn có nghĩa là miễn phí? Chúng có ý nghĩa khác nhau. Có phải câu hỏi của bạn về _inexpensive profilers?
Robert Munteanu

3
miễn phí như trong tự do hay miễn phí như trong miễn phí? Ôi sự bối rối!
Tarski

Câu trả lời:


61

VisualVM đi kèm với jdk6 có một hồ sơ cơ bản bên trong nó. VisualVM được cung cấp cùng với jdk, vì vậy nếu bạn đã cài đặt jdk6, bạn cũng có thể cài đặt nó.

https://visualvm.github.io/


3
Hồ sơ VisualVM là một phiên bản độc lập của một trong NetBeans. Đó là một khởi đầu RẤT tốt.
Thorbjørn Ravn Andersen

2
Chắc chắn tải xuống phiên bản cập nhật nhất trên: visualvm.dev.java.net . Ngoài ra: đây là hồ sơ mà NetBeans sử dụng.
Peterdk

Tôi đã sử dụng VisualVMthành công trước đây, nhưng nó đã gặp sự cố đối với tôi khi cố gắng cấu hình ứng dụng Tomcat. Điều này làm việc cho tôi: github.com/jvm-profiling-tools/honest-profiler
Lambart

21

bạn đã có một danh sách ở đây (liệt kê chúng bên dưới, phòng trường hợp liên kết bị hỏng)

  • JMemProf
  • JMP
  • DrMem
  • JTreeProfiler
  • NetBeans Profiler
  • API JAMon
  • JBoss Profiler
  • MessAdmin
  • Hồng ngoại
  • TomcatProbe
  • Java Interactive Profiler (JIP)
  • Profiler4j
  • Đồng hồ bấm giờ
  • JMeasurement
  • DJProf
  • TIJmp
  • Allmon
  • Appspy
  • EurekaJ
  • japex
  • Hồ sơ OKTECH
  • Perf4j

1
Bạn có thể thêm video này vào danh sách: github.com/jvm-profiling-tools/honest-profiler
Lambart


10

Java có một trình biên dịch cơ bản được tích hợp sẵn gọi là HProf . Tôi thấy hữu ích khi so sánh kết quả mà nó cung cấp với kết quả từ các trình cấu hình đầy đủ tính năng hơn.


1
Tôi đã sử dụng HPROF trong nhiều năm - và mặc dù nó có thể không đẹp nhưng nó đã giúp tôi giải quyết vô số vấn đề về bộ nhớ và hiệu suất.
Gandalf

1
HPROF thường tìm ra những điểm khác nhau để tối ưu hóa. Tôi thường sử dụng nó sau khi YourKit không còn cho tôi những điểm rõ ràng để tối ưu hóa nữa.
Peter Lawrey

2
Đã xóa kể từ jdk 9. openjdk.java.net/jeps/240
user2418306

5

Công cụ mã nguồn mở jvmtop bao gồm một trình biên dịch bảng điều khiển cơ bản. Ví dụ đầu ra:

 JvmTop 0.7.0 alpha - 15:16:34,  amd64,  8 cpus, Linux 2.6.32-27, load avg 0.41
 http://code.google.com/p/jvmtop

 Profiling PID 24015: org.apache.catalina.startup.Bootstrap

  36.16% (    57.57s) hudson.model.AbstractBuild.calcChangeSet()
  30.36% (    48.33s) hudson.scm.SubversionChangeLogParser.parse()
   7.14% (    11.37s) org.kohsuke.stapler.jelly.JellyClassTearOff.parseScript()
   6.25% (     9.95s) net.sf.json.JSONObject.write()
   3.13% (     4.98s) ....kohsuke.stapler.jelly.CustomTagLibrary.loadJellyScri()

4

3
Tôi chưa bao giờ có thể thiết lập TPTP. Có lẽ tôi quá ngu ngốc để sử dụng nó.
quant_dev

@quant_dev: Tôi cũng gặp phải vấn đề tương tự nhưng bằng cách nào đó tình cờ thiết lập được nó đột ngột (nhật thực khởi động lại hay gì đó?). Nhưng khi tôi sử dụng nó, nó trở nên gần như vô dụng, cực kỳ chậm và đói tài nguyên đến mức tôi đã giết chết nhật thực. Một số chế độ xem hữu ích hơn đã được đề cập trong một số tài liệu tham khảo mà tôi tìm thấy trên mạng dường như không còn tồn tại trong bản bán lại hiện tại hoạt động với eclipse 3.5. Vì vậy, vào lúc này về cơ bản nó chỉ là một BLOB vô dụng khổng lồ.
x4u

1
Eclipse TPTP trông giống như một sản phẩm trưởng thành nhưng cực kỳ chậm. Tôi không thể hiểu tại sao ...
Roalt

4
Thật không may, TPTP hiện đã có bản phát hành cuối cùng (v4.7.2). Nó đã được lưu trữ và không còn là một phần của bản phát hành đồng thời Eclipse.
joelittlejohn

3

Nếu bạn đang tìm kiếm một trình biên dịch mã nguồn mở không rườm rà, dễ sử dụng, bạn có thể muốn xem qua Jip ( Java Interactive Profiler ). Nó được xuất bản theo giấy phép BSD. Tôi thấy nó khá hữu ích cho các chương trình nhỏ. Ít nhất, kết quả mà nó cung cấp dễ hiểu hơn so với kết quả đầu ra của hprofs.


2

Java Mission Control , nó được sử dụng miễn phí để phát triển và nó tích hợp với Eclipse. Nó có chi phí rất thấp (<1%) vì nó vẫn dựa trên dữ liệu mà JVM đang thu thập.

Nó rất dễ sử dụng và nó cũng có thể cung cấp nhiều thông tin mà bạn thường không tìm thấy trong các công cụ lập hồ sơ khác, ví dụ như lập hồ sơ độ trễ, kiểm tra bộ nhớ trực tuyến, thống kê gc chi tiết


1

Điều này nhanh chóng, ít tốn kém và rất hiệu quả: chỉ cần thực hiện một vài lần kết xuất luồng, hoặc tạm dừng chương trình vài lần và xem các dấu vết ngăn xếp.


1

Cân nhắc https://github.com/jvm-profiling-tools/async-profiler tiên tiến

Dự án này là một hồ sơ lấy mẫu chi phí thấp cho Java không bị vấn đề thiên vị Safepoint . Nó có các API dành riêng cho HotSpot để thu thập dấu vết ngăn xếp và theo dõi phân bổ bộ nhớ. Hồ sơ hoạt động với OpenJDK, Oracle JDK và các thời gian chạy Java khác dựa trên HotSpot JVM.

Nó cũng được tích hợp sẵn trong IntelliJ IDEA Ultimate: https://www.jetbrains.com/help/idea/cpu-profiler.html .


Ngoài ra còn có https://github.com/jvm-profiling-tools/honest-profiler tương tự .

So sánh giữa async-profilerhonest-profiler: https://github.com/jvm-profiling-tools/async-profiler/issues/77


Bài viết được minh họa đẹp trên async-profiler: hackernoon.com/…
Vadzim

0

Netbeans IDE bao gồm một hồ sơ miễn phí.

Ngoài ra, nếu tôi nhớ không nhầm, giấy phép học thuật cho JProfiler (tương đối) rẻ.


1
OP đã yêu cầu "giấy phép học tập không quá đắt". Một giấy phép học thuật duy nhất cho JProfiler là US $ 199
masher

1
Anh ta yêu cầu một thứ gì đó có nguồn mở hoặc có giấy phép học thuật rẻ tiền. Theo tôi, 199 đô la Mỹ khá rẻ cho một công cụ có giá 499 đô la cho một giấy phép thông thường.
Paul Morie

0

Màn hình JVM là một trình biên dịch Java được tích hợp với Eclipse để theo dõi việc sử dụng CPU, luồng và bộ nhớ của các ứng dụng Java.

Nếu cần phân tích sâu hơn, bạn có thể sử dụng các công cụ khác (ví dụ: TPTP , Bộ phân tích bộ nhớ ) như một bước tiếp theo.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.