2011-03-10 2 views
0

64 비트 Linux OS에서 jdk 1.5_22 버전을 사용하는 JBOSS 5.01 버전에 응용 프로그램을 배포하려고합니다. Java 프로세스는 비교할 때 거의 두 배의 메모리를 사용합니다 MAC OS에서 실행되는 32 비트 jvm으로 Linux 64 비트 시스템에 대한 패치가 있습니까? 또는 왜 이런 식으로 행동합니까? 우리는 64 비트가 더 많은 메모리를 필요로한다는 것을 알고 있습니다. 오라클의 기사에서 32 비트와 비교할 때 64 비트의 메모리 사용량을 나타낼 수 있습니다.64 비트 Linux 시스템에서 메모리 사용량이 MAC 32 비트보다 두 배입니다

+3

포인터의 크기가 두 배입니다. 다른 질문? –

+0

(각 시스템에서) 어떻게 메모리 사용량을 측정하고 있습니까? –

답변

4

Java 6 VM을 사용하면 UseCompressedOops를 추가하면 포인터의 크기가 줄어 듭니다.

java -XX:+UseCompressedOops ...

http://wikis.sun.com/display/HotSpotInternals/CompressedOops

+0

우리는이 옵션을 시도했지만 메모리 변경은 매우 미미했습니다. 또한 Xmx 옵션을 사용하여 힙 크기를 늘리려고했습니다. 동일한 것을 인증하는 Oracle (Sun)의 기사 또는 링크가 있는지 알고 싶습니다. – MSSV

3

당신은 명시 적으로 -Xmx와 최대 힙 크기를 설정하고 있는가? 그렇지 않은 경우 default heap size은 큰 포인터 이외에 32 비트보다 64 비트에서 더 큽니다.

관련 문제