Chúng tôi có một ứng dụng được triển khai tới một máy chủ WebSphere chạy trên UNIX, và chúng tôi đang gặp hai vấn đề:Có thể chọn tạo phân vùng đống hay không khi đang di chuyển?
- một hệ thống treo mà phục hồi sau một vài phút - để điều tra, chúng tôi sẽ cần các bãi chứa thread (javacore).
- một hệ thống treo không phục hồi và yêu cầu WebSphere phải khởi động lại - để điều tra, chúng tôi sẽ cần kết xuất chuỗi và kết xuất đống.
Vấn đề là: khi một hệ thống treo xảy ra, chúng ta không biết cho dù đó là vấn đề 1 hoặc 2.
Lý tưởng nhất là chúng tôi muốn tự tạo ra các bãi chứa thread đầu tiên, và chờ đợi để xem nếu hệ thống phục hồi. Nếu không, sau đó chúng ta tạo ra kết xuất chuỗi và kết xuất đống, trước khi khởi động lại WebSphere.
Tôi biết về lệnh kill -3
(hoặc kill -QUIT
). Lệnh sẽ chỉ tạo ra kết xuất chuỗi (nếu tham số IBM_HEAPDUMP=false
), hoặc kết xuất chuỗi và kết xuất đống (nếu IBM_HEAPDUMP=true
). Tuy nhiên, IBM_HEAPDUMP
phải được đặt trước khi WebSphere được khởi động và không thể thay đổi trong khi WebSphere đang chạy.
Sự hiểu biết của tôi có chính xác không, liên quan đến thông số IBM_HEAPDUMP
và lệnh kill -3
?
Ngoài ra, có thể nhận nhật ký theo cách tôi mô tả không? (tức là khi tạo chẩn đoán JVM, hãy chọn tạo phân vùng đống hay không khi đang di chuyển)
Thank you very much. Sau khi đọc câu trả lời của bạn, tôi cũng tìm thấy liên kết này về việc tạo ra các bãi đống từ WebSphere: http://www-01.ibm.com/support/docview.wss?uid=swg21384926. Nó chứa các giải thích chi tiết hơn. – Andy