Không, phép tính không chính xác.Những gì bạn muốn để tính toán là
(CPU spent on GC)/(total CPU spent on JVM)
Như đã chỉ ra trong các ý kiến khác, "tổng CPU dành cho JVM" sẽ thấp hơn 60 * 4, như giả định đầy tải hệ thống bằng cách ứng dụng của bạn và không có Chu kỳ CPU được chi tiêu bởi hệ điều hành hoặc bởi các ứng dụng khác. Trên Linux, các lệnh "thời gian" và "ps" có thể được sử dụng để tìm ra số thích hợp ở đây.
Tuy nhiên, cũng "CPU dành cho GC" rất khó tìm ra bằng lệnh jstat. Tôi nghi ngờ rằng jstat báo cáo thời gian ép xung (và không phải CPU lần), mà sẽ vô ích cho việc tính toán ở trên - một lần nữa, bạn không biết liệu GC có nạp đầy đủ tất cả các lõi trong khoảng thời gian wallclock hay không. Đáng ngạc nhiên, không có tài liệu rõ ràng về những loại thời gian (wallclock vs CPU) được báo cáo bởi lệnh jstat - nếu tôi bỏ lỡ điều đó, xin vui lòng để lại một bình luận ở đây.
Nguồn
2016-04-22 09:19:47
Điều đó có ý nghĩa, nhưng có thể lấy lại giá trị của 'thời gian sử dụng trong logic' bằng cách sử dụng jstat hoặc các công cụ khác không? Cảm ơn – Ryan