2011-07-26 36 views
6

Được đề cập trong tài liệu BTrace rằng BTrace hầu như không có phí khi không hoạt động. Điều đó có nghĩa là BTrace chỉ có trên không và chỉ khi một số thăm dò được đáp ứng và nó đang được xử lý?chi phí của BTrace

Ngoài ra, khi đầu dò đang được xử lý, sẽ mất một số CPU để xử lý. Nhưng nó có bất kỳ tác động nào trong bộ nhớ JVM hay bất kỳ thứ gì khác có thể tác động đến quá trình xử lý JVM gốc không?

Trả lời

6

Các overhead CPU BTrace thêm là sau đây:

  • mã thăm dò thực tế
    • trong chế độ an toàn trên cao bạn có thể phải chịu là tối thiểu với ngoại lệ của việc timestamps - nó có thể được thực sự chậm chạp, tùy thuộc vào hệ điều hành)
    • khi sử dụng chế độ không an toàn, bạn được tự do để bắn chân của bạn - chi phí sẽ phụ thuộc vào những gì bạn đặt trong bộ điều khiển đầu dò
  • JMX xử lý, nếu có (sử dụng một @Property thuộc tính chú thích)

Về bộ nhớ BTrace cố gắng hết sức mình để tránh bất kỳ chi phí. Tuy nhiên, nếu bạn sử dụng tập hợp, bộ sưu tập hồ sơ hoặc tùy chỉnh, bộ nhớ sẽ tăng theo mức dữ liệu bạn lưu trữ ở đó.

Ngoài ra, BTrace đặt một số yêu cầu bổ sung vào PermGen - lớp xác định lại quá thường xuyên có thể dẫn đến cạn kiệt PermGen.

+0

Điều này so sánh như thế nào trong Java 8 từ oracle? Nó không có gen perm. Vì vậy, một điều ít hơn để lo lắng? – Jayan

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