Một phần công việc hiện tại của tôi là chăm sóc và cho ăn một ứng dụng java lớn được thiết kế để chạy với một lượng bộ nhớ lớn (hiện tại 8 Gb), chủ yếu là do tính toán liên tục với nhiều dữ liệu được lưu trong bộ nhớ cache. Tôi đã triển khai ban đầu với thiết lập GC chuẩn, chủ yếu là do không có cách nào đơn giản để mô phỏng môi trường sản xuất chạy ở chế độ nghiêng đầy đủ.
Trong các giai đoạn, trong vài tháng tới, tôi đã tùy chỉnh cài đặt GC. Nói chung, núm có sẵn lớn nhất dường như là điều chỉnh tần số và cường độ của gc gia tăng - cải tiến lớn nhất đã được giao dịch ngoài gc định kỳ lớn đối với những cái nhỏ hơn và thường xuyên hơn. Nhưng chúng tôi chắc chắn có thể thấy các cải tiến hiệu suất.
Tôi sẽ không đăng cài đặt cụ thể của mình vì a) chúng dành riêng cho thiết lập của chúng tôi và b) vì tôi không có tiện ích này :). Nhưng nói chung, những gì tôi đã tìm thấy là
- đã có nhiều công việc được thực hiện trong điều chỉnh cài đặt gc mặc định. Hầu hết các mặc định hoạt động tốt hơn bất kỳ điều chỉnh nào tôi thực hiện.
- Ít nhất đối với tôi, những tình huống mà gc chỉnh đã thực sự đáng giá là cực đủ rằng đó là bất hợp lý để cố gắng mô phỏng họ, vì vậy tôi đã phải làm điều đó thực nghiệm và từng bước.
Here's một tham chiếu tốt từ phiên bản trước. thảo luận stackoverflow.
Nguồn
2009-03-08 17:36:00
Lưu ý rằng cờ máy chủ thường không cần thiết nếu bạn đang thực sự triển khai trên máy chủ. JVM sẽ phát hiện loại môi trường nào đang chạy trong –
Điều này không hoạt động trên Windows. Nó hoạt động trên Linux và Solaris. Hầu hết các hộp Windows đều vượt quá các yêu cầu máy chủ tiêu chuẩn. Có lẽ giả định là chúng sẽ được sử dụng để sử dụng cho khách hàng. – Fortyrunner