게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
아까 저녁때 Java heap size 질문하신분...
게시물ID : computer_36090짧은주소 복사하기
작성자 : 잠이오네요
추천 : 1
조회수 : 823회
댓글수 : 1개
등록시간 : 2012/02/19 04:26:23
봤을때는 폰으로 봐서 댓글 못달앗는데 지금 보니 글이 없네요...

아무튼 답을달면

java는 지정가능한 최대 heap 사이즈가 하드웨어의 남은 메모리 양으로 제한됩니다.

만약 4GB메모리가 설치된 컴퓨터라 해도 윈도우나 다른 프로그램들이 3GB를 쓰고 있다면

JVM은 1GB가 넘는 heap을 가질 수 없습니다.(JVM은 메모리상의 연속된 공간을 heap으로 할당하려기에 가상메모리에 올리는건 비추)

또한 운영체제의 제한도 있는데 32bit 운영체제의 경우 각 프로세스당 사용가능한 메모리는 2GB로 한정됩니다.
(32bit 윈도우, 32bit 리눅스 모두 2GB로 제한)

물론 JVM 자체나, 라이브러리등으로 메모리가 추가로 필요할 수 있기 때문에 hae size는 약 1.5GB이상은 할당시키지 못합니다.

이는 64bit 운영체제와 64bit JVM을 쓰면 해결되는 일로 일단 64bit 리눅스에서는 몇 GB든 메모리가 허용하는 데까지 늘려졌습니다.
(애초에 64bit 운영체제의 프로세스당 메모리 제한이 몇인지도 모르구요;)

64bit 윈도에서는 아직 테스트를 안해봐서 모르겠지만 64bit 리눅스와 마찬가지일거라고 생각됩니다.
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호