[java] Java HotSpot (TM) 64 비트 서버 VM 경고 : 옵션 MaxPermSize 무시

Maven으로 Java 8 프로젝트를 빌드 할 때 :

mvn clean package

이 메시지가 나타납니다.

Java HotSpot ™ 64 비트 서버 VM 경고 : 옵션 MaxPermSize = 128m 무시 8.0에서 지원이 제거되었습니다.

이 메시지를 제거하는 방법?



답변

JDK 8 호환성 안내서에 따르면 Java 8에서는 명령 줄 플래그 MaxPermSize가 제거되었습니다. 영구 생성이 핫스팟 힙에서 제거되어 기본 메모리로 이동 되었기 때문입니다. 따라서이 메시지를 제거하려면 MAVEN_OPTS 환경 사용자 변수를 편집하십시오 .

자바 7

MAVEN_OPTS -Xmx512m -XX:MaxPermSize=128m

자바 8

MAVEN_OPTS -Xmx512m


답변

JDK 8 핫스팟 JVM은 이제 클래스 메타 데이터의 표현에 대한 기본 메모리를 사용하고라고 Metaspace .

영구적 인 세대가 제거되었습니다. PermSize과는 MaxPermSize무시되고 그들이 명령 행에 존재하는 경우 경고 메시지가 발행됩니다.


답변

-XX:MaxPermSize=size

최대 영구 생성 공간 크기 (바이트)를 설정합니다. 이 옵션은 JDK 8에서 더 이상 사용되지 않으며이 옵션으로 대체되었습니다 -XX:MaxMetaspaceSize.

-XX:PermSize=size

가비지 수집이 초과 될 경우이를 트리거하는 영구 생성에 할당 된 공간 (바이트)을 설정합니다. 이 옵션은 JDK 8 에서 더 이상 사용되지 않으며이 옵션으로 대체되었습니다 -XX:MetaspaceSize.


답변

JBoss EAP 6.4에서 서버를 마우스 오른쪽 버튼으로 클릭하고 VM 인수에서 실행 구성을 엽니 다.

{-Dprogram.name=JBossTools: jboss-eap" -server -Xms1024m -Xmx1024m -XX:MaxPermSize=256m}

로 업데이트

{-Dprogram.name=JBossTools: JBoss 6.4" -server -Xms512m -Xmx512m}

이렇게하면 문제가 해결됩니다.


답변

Java 8이 설치된 Linux에서 명령 줄 mvn (버전 3.3.3)을 실행할 때 비슷한 메시지가 나타납니다. maven 스크립트 / $ MAVEN-HOME / bin / mvn을 열어 다음 줄을 찾았습니다.

MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"

여기서 $ MAVEN_PROJECTBASEDIR은 기본적으로 홈 디렉토리입니다. 따라서 두 곳을 살펴볼 수 있습니다. 먼저 $ MAVEN_PROJECTBASEDIR / .mvn / jvm.config 파일이 있습니다. 둘째, 파일이 환경 변수 MAVEN_OPTS를 설정했을 가능성이 있는지 살펴보십시오. 후보 파일은 .bashrc, .bash_profile, .profile 및 / etc / profile, /etc/bash.bashrc와 같이 포함 된 파일입니다.

나는 위치했다

export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m"

내 시스템의 .bashrc에서 다음으로 변경하십시오.

export MAVEN_OPTS="-Xmx512m"

문제가 해결되었습니다


답변

어떤 사람은 여전히 ​​이런 종류의 메시지를받습니다. maven 프로젝트를 실행할 때 JVM 인수를 추가하기 때문에 발생합니다. 그것은 maven과 관련이 있기 때문에 pom.xml프로젝트에서 파일을 확인할 수 있습니다.

이 줄을 찾으십시오 <argLine>...</argLine>. 내 프로젝트에서 아래에 인수가 있습니다.

<argLine>-Xmx1024m -XX:MaxPermSize=512m -XX:+TieredCompilation -XX:TieredStopAtLevel=1</argLine>

당신은 MaxPermSize인수를 다음과 같이 바꿔야 합니다-Xms123m -Xmx123m 이후, MaxPermSize이미 사용되지 않으며 당신의 JVM의 설정에 영향을 실 거예요 :

<argLine>-Xms512m -Xmx512m  -XX:+TieredCompilation -XX:TieredStopAtLevel=1</argLine>


답변

이 문제를 해결하기 위해 JDK 경로를 설치했습니다.

standalone.conf

JBoss \ Wildfly Server 의 bin 폴더에 있는 파일입니다 . 이를 해결하기 위해 다음 단계를 수행합니다.

  1. 열기 standlone.conf을JBoss_or_wildfly \ bin 폴더 파일을
  2. 이 파일에서 #JAVA_HOME을 찾으 십시오. 텍스트를 .
  3. # 문자를 제거하고 설치된 JDK 경로를
    JAVA_HOME = “C : \ Program Files \ Java \ jdk1.8.0_65″로 설정
    하십시오. 문제가 해결 되기를 바랍니다. 감사합니다.