다음 시나리오에서 GC를 어떻게 조정해야합니까 (예 : 수집기 유형, 힙의 최소/최대 크기, 새/이전 세대의 크기, 생존자와의 에덴 비율 등)? (Sun JDK 6을 사용하고 있으며 사용 가능한 메모리는 1GB입니다.)Java : master-slave 설정 용 마스터에서 GC 튜닝을 설정 하시겠습니까?
1) 차례로 마스터
2) 노드 상태 메시지는 CPU, 메모리, IO 사용 등을 포함에 따라 다양한 노드 시스템의 상태를 표시하는 웹 응용 프로그램을 실행 바람둥이를 실행하는 마스터 시스템; 전형적인 메시지 크기는 노드가 마스터 초당 3와 같은 메시지를 전송 1킬로바이트
3)이며, 마스터는 마스터에 마지막 시간 상태 데이터를 유지하는 것이
4) -10 노드가 따라서 메모리가 유지해야하는 총 상태 데이터는 다음과 같습니다. 3kb * 3600 * 10 = 108MB
5) 마스터는 당연히 다른 작업을위한 메모리를 필요로하므로 JVM의 메모리는 최대 절반 그러나 더 많은 것은 아닙니다.
내 구체적인 질문은 내가 더 큰 새로운 세대를 계속 유지하면 이러한 개체가 적어도 한 시간 동안 생기기 때문에 많은 복사가 발생한다는 것입니다. 오래된 겐을 더 크게 유지하면 소액 컬렉션이 많이 생깁니다. 어떻게해야합니까?
에서 2)의 경우 메시지 크기가 1k 일 수 있지만 데이터 저장에 1k의 메모리가 필요하지는 않습니다. 예 : 직렬화 된 형식은 종종 잘 포장 된 메모리 표현보다 훨씬 큽니다. 이 가정을 확인하고 싶을 수도 있습니다! – mikera