Tôi đang sử dụng VisualVM
để xem ứng dụng của tôi ở đâu chậm. Nhưng nó không hiển thị tất cả các phương thức, có thể không hiển thị tất cả các phương thức làm chậm ứng dụng.Tại sao không phải tất cả các phương thức được hiển thị trong trình lược tả VisualVM?
Tôi có ứng dụng thời gian thực (xử lý âm thanh) và thiếu thời gian trong vài trăm micro giây.
Có thể VisualVM
ẩn các phương thức nhanh?
CẬP NHẬT 1
tôi thấy phương pháp chậm bởi sampler và đoán. Đó là phương thức toString()
được gọi là từ quá trình ghi nhật ký gỡ lỗi đã bị tắt nhưng tốn thời gian.
Settings
đã giúp và bây giờ tôi biết cách xem: tùy thuộc vào tùy chọn Start profiling from
.
Bạn đang sử dụng trình lấy mẫu hoặc hồ sơ? Các mẫu, mẫu tốt, tại một khoảng thời gian xác định. Profiler là chính xác hơn nhưng chậm hơn rất nhiều. –
Ghi nhật ký gỡ lỗi tất cả nên được bao quanh với 'if (log.isDebugEnabled()) {' hoặc tương tự để tránh nối chuỗi và những thứ khác diễn ra trong các cuộc gọi nhật ký của bạn. –
Xem thêm https://blogs.oracle.com/nbprofiler/entry/profiling_with_visualvm_part_1 và https://blogs.oracle.com/nbprofiler/entry/profiling_with_visualvm_part_2 để biết thêm thông tin về hồ sơ và cách đặt nguồn gốc và bộ lọc định vị. –