2012-11-01 15 views
5

Tôi có một ứng dụng Java không đầu, chạy trên một máy chủ từ xa như một quy trình kiểu daemon.Làm thế nào để cấu hình một ứng dụng Java không đầu, chạy từ xa?

Tôi muốn trích xuất thông tin lược tả cấp Java từ quy trình, sắp xếp được hiển thị bởi JVisualVM. Ví dụ, nó sẽ hiển thị thời gian gọi phương thức và vv.

Cách tốt nhất để làm điều này là gì? Sự hiểu biết của tôi là JVisualVM không cấu hình khi kết nối từ xa.

Lý tưởng nhất, thông tin lược tả sẽ được lưu trữ trong tệp để kiểm tra sau, theo cách tương tự như tạo heap Java (với jmap) và phân tích sau (với thanh tra heap).

+2

Bạn có thể làm điều này với profilers thương mại, nhưng tôi không biết làm thế nào để làm điều đó với VisualVM. –

+1

Nếu đó là sự thật chung nhất, hiện tại, nó có thể là giá trị thúc đẩy đó cho một câu trả lời. –

+1

Nếu không ai biết cách nào, tôi sẽ. Có lẽ mô hình bảo mật của Java cho phép bạn tiêm mã trên cùng một máy, nhưng không phải mã khác? –

Trả lời

1

Bạn có thể sử dụng khả năng NetBeans profiler profiling từ xa.

từ xa Profiling

hồ sơ một ứng dụng đang chạy trên một hệ thống khác với NetBeans IDE của bạn. Gói từ xa của profiler có thể được cài đặt trên một hệ thống từ xa, cho phép bạn cấu hình một ứng dụng được khởi động trên hệ thống đó.

Thực tế, VisualVM is based on it.

Bên cạnh các tính năng giám sát khác nhau, công cụ có chứa trình biên dịch tích hợp dựa trên lược tả NetBeans. Trong khi giao diện người dùng profiler trong VisualVM trông đơn giản (đặc biệt là khi so sánh với hồ sơ NetBeans), các khả năng lược tả gần như mạnh mẽ như trong NetBeans.

Đây là bài đăng chi tiết trên blog về Profiling a Java remote server using Netbeans.

+0

Điều này trả lời câu hỏi. Tôi nghĩ ban đầu tôi đang tìm kiếm thứ gì đó có thể ghi âm và không thực sự muốn kết nối với quy trình, nhưng không rõ ràng về điều này. Nhưng điều này trả lời câu hỏi như được hỏi để có một số điểm;) –