저는 실시간 서버에 응용 프로그램을 배포하려고합니다. 그리고 지금 당장 jvm에 대한 힙 및 permgen 크기를 설정해야합니다. 나는 많은 기사를 보았고 그들 모두는 "최소 힙 크기를 (일부 숫자)"로 설정하고 "최대 힙 크기를 (일부 숫자)"로 설정한다고 말합니다. 최소 힙 크기를 설정해야합니다. 최대 힙 크기를 설정하는 이유는 알지만 최소값은 아닙니다. 당신이 이것에 관해 밝혀 주면 고맙겠습니다.정말 Java 최소 힙 크기를 정의해야합니까?
답변
Java의 힙은 일반적인 메모리 할당 영역입니다. 최소 힙 크기를 1000 바이트로 설정한다고 가정 해 봅시다 (이것은 부적절하게 낮은 숫자입니다). 자 이제 내 프로그램에서 2 천 자 길이의 텍스트가 포함 된 객체를 인스턴스화한다고 가정 해 보겠습니다. 먼저 힙 크기를 확장하지 않고이 개체를 저장할 수 없습니다. 아마도, 아마도 내 최대 힙 매개 변수는 이것을 허용하기에 충분히 크지 만, 이것이 최대 힙 크기를 설정하는 이유입니다.
그러나 내 서버에 4G 램이 있다고 가정하고 최소한의 힙 크기를 설정했습니다. (엄청나게 큰 숫자입니다.) 다른 프로그램이 메모리를 차지하지 않으면 작동합니다. 그러나 Java 프로그램으로 두 번째 프로세스를 시작하면 충분한 메모리를 할당하고 종료 할 수 없습니다.
최소 크기는 두 가지를합니다. 첫째, 빠른 시작을 위해 메모리를 빠르게 사용할 수 있습니다. 둘째로, 여러분은 자신의 jvm을 튜닝하여 불변성 (invariant)을 갖게함으로써 실행할 수있는 프로세스의 수를 예측할 수 있습니다. 최소한의 힙 크기가 너무 크면 프로세스를 많이 낭비 할 필요가 없으므로 시스템 용량을 제한 할 수 있습니다. 너무 작게 설정하면 프로그램을 시작하는 데 오랜 시간이 걸리고 프로세스의 성능에 나쁜 영향을 미칩니다.
최소 힙 크기를 설정하면 Java가 시작 시간을 향상시키는 일부 메모리를 할당 할 수 있습니다.
명시 적으로 최소 크기를 설정하면 (기본값보다 높음) OS 수준에서 할당 조각화와 시작 시간 성능을 향상시키는 데 도움이됩니다.
Java 힙은 운영 체제에 의해 할당 된 메모리로 백업됩니다. 초기 블록이 클수록 재 할당 및 조각화가 덜 발생합니다.
최소값을 최대 값과 같거나 거의 같게 설정하면 이러한 상황이 완전히 제거됩니다.
- 1. 최소 Java 힙 크기를 설정하는 이유는 무엇입니까?
- 2. 왜 Java 힙 크기를 지정해야합니까?
- 3. 약 힙 (최대 힙 및 최소 힙)
- 4. 최소 힙 알고리즘
- 5. 프로그래밍 방식으로 Java 힙 크기를 늘리는 방법
- 6. Carrot2의 Java 힙 크기를 늘리는 방법은 무엇입니까?
- 7. 내 컴퓨터에서 Java 힙 크기를 확인하려면 어떻게합니까?
- 8. android 앱에서 최소 힙 크기를 설정하는 목적은 무엇입니까?
- 9. -Xms : 초기 힙 크기 또는 최소 힙 크기?
- 10. 최소/최대 이진 힙 생성
- 11. 64 비트 Java 1.7은 최소 힙 크기 플래그를 무시합니까?
- 12. JVM 최소 힙 크기 권장 사유?
- 13. jmap으로 현재 힙 크기를 찾으십시오.
- 14. 배열로 최소 힙 구현하기 : 최소 삽입 및 제거 (중복 포함)
- 15. 어떻게 .NET 힙 크기를 늘릴 수 있습니까?
- 16. Scala Eclipse 힙 크기를 늘릴 수 없습니다
- 17. 힙 크기를 제한하는 방법은 무엇입니까?
- 18. 자바 힙 크기를 영구적으로 늘리십시오?
- 19. 익명 수신기가 힙 크기를 늘리십니까?
- 20. 어디에서 Windows PC에 Java 힙 크기를 영구적으로 설정할 수 있습니까?
- 21. 동적으로 최대 Java 힙 크기를 변경할 수 있습니까?
- 22. Java 힙 크기를 초과하는지 여부를 이해하는 방법은 무엇입니까?
- 23. Java 환경에서 수동으로 힙 크기를 설정하는 방법은 무엇입니까?
- 24. 자바 캐시 메모리의 힙 크기를 늘리는 방법
- 25. 정말 간단한 Java 질문
- 26. 사용자 정의 유형의 C++ 최소 힙
- 27. 소나 자바 힙 크기를 늘리는 방법은 무엇입니까?
- 28. jetty6.1.24에서 jvm 힙 크기를 설정하는 방법
- 29. Java/Tomcat 힙 크기 질문
- 30. JAVA 힙 스택 오류
그럼 왜 아무리 낮추더라도 좋을까요? 프로그램에 일정 금액이 필요할 수 있기 때문입니다. 나는 그 질문을 오해하고 있는가? 분 설정이 실제로 필요하다는 뜻입니까? – keyser
가능한 [최소 Java 힙 크기를 설정하는 이유는 무엇입니까?] (http://stackoverflow.com/questions/8085949/whats-the-reason-to-set-a-minimal-java-heap-size) – assylias