2009-11-18 35 views
12

Khi giám sát một ứng dụng từ xa (sử dụng jstatd), tôi không thể cấu hình và giám sát mức tiêu thụ CPU. Các công cụ theo dõi Heap (miễn là tôi không sử dụng G1) hoạt động. jvisualvm cung cấp thông báo "Không được hỗ trợ cho JVM này". trong cửa sổ đồ thị CPU.CPU và cấu hình không được hỗ trợ cho phiên jvisualvm từ xa

Có gì thiếu trong thiết lập của tôi không? Google đã cho thấy rất ít kết quả.

Các môi trường địa phương (Mac OS X 10.6):

java version "1.6.0_15" 
Java(TM) SE Runtime Environment (build 1.6.0_15-b03-219) 
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-90, mixed mode) 

Môi trường từ xa (Linux phiên bản 2.6.16.27-0.9-smp (gcc phiên bản 4.1.0 (SUSE Linux))):

java version "1.6.0_16" Java(TM) SE 
Runtime Environment (build 
1.6.0_16-b01) Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode) 

Công việc giám sát địa phương được quảng cáo.

Trả lời

13

Cấu hình mã và phân bổ từ xa không được Visual VM hỗ trợ. Tuy nhiên, nếu bạn muốn bật biểu đồ CPU, bạn có thể thực hiện điều này bằng cách bật JMX với

-Dcom.sun.management.jmxremote=true 
-Dcom.sun.management.jmxremote.port=12345 

Bạn có thể cần phải thêm một số cài đặt xác thực dựa trên mạng của bạn. Các cài đặt JMX sẽ cung cấp cho bạn mức sử dụng CPU, và trạng thái luồng, cũng như thực hiện một jstack từ xa.

Một danh sách các tính năng cho phiên bản từ xa có thể được tìm thấy ở đây: Visual VM features

EDIT Lấy phiên bản mới nhất của vm thị giác 1.2.1 và tải về VisaulVM-Sampler. Điều này sẽ đọc từ một kết nối JMX để hiển thị thông tin lược tả.

+0

Hoạt động! +1 cho visualvm 1.2.1 và đề xuất plugin & được chấp nhận. – yawn

+2

Theo dõi: JMX trong 1.6 có tính năng bảo mật được bật theo mặc định. Đối với người phát triển có thể muốn vô hiệu hóa bảo mật, hãy xem http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html#no_security – yawn

+0

"Việc định cấu hình mã và phân bổ từ xa không được hỗ trợ bởi Visual VM "- điều này vẫn đúng với jvisualvm 1.3.8? – Yar

1

Có phải vì phiên bản từ xa (mặc dù hơi) lớn hơn phiên bản cục bộ không?

4

Kết nối chương trình java nhật thực.

Bước 1: đảm bảo Eclipse của bạn -> Preferences -> Java -> JRE cài đặt được trỏ đến jdk cùng nơi bạn đã bắt đầu VisualVM.

Bước 2: Đảm bảo Nhấp chuột phải -> Run cấu hình có sau

-Dcom.sun.management.jmxremote = true -Dcom.sun.management.jmxremote.authenticate = false -Dcom.sun. management.jmxremote.ssl = false -Dcom.sun.management.jmxremote.port = 16001

Bước 3: Quan trọng là làm theo đề xuất dưới đây.

https://visualvm.java.net/troubleshooting.html#jpswin2

Mô tả: Một hộp thoại báo lỗi nói rằng các ứng dụng địa phương không thể được theo dõi được hiển thị ngay sau khi VisualVM khởi động. Các ứng dụng Java đang chạy cục bộ được hiển thị như (pid ###).

Độ phân giải: Điều này có thể xảy ra trên hệ thống Windows nếu tên người dùng chứa chữ cái viết hoa. Trong trường hợp này, tên người dùng là UserName nhưng thư mục jvmstat được tạo bởi JDK là% TMP% \ hsperfdata_username.Để khắc phục sự cố, thoát khỏi tất cả các ứng dụng Java, xóa thư mục% TMP% \ hsperfdata_username và tạo thư mục% TMP% \ hsperfdata_UserName mới.

Đồng thời thử JVMMonitor là plugin phong nha cho chương trình theo dõi độc lập nhật thực.

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