WebSphere 8.5 (64 비트 Linux)에 배치 할 때 ws_ant.sh의 힙 크기를 늘리는 방법


1

TL; DR - 어떻게 주는가 ws_ant.sh및 / 또는 <wsInstallApp>런타임에서 작업을 더 힙?

64 비트 Linux 플랫폼에서 실행되는 WebSphere 8.5에 비교적 큰 (~ 160MB) EAR 파일을 배치하려고합니다.

여기 내 작업이 있습니다 build.xml.

<wsInstallApp
    ear="/my/ear/file/location/New.EAR"
    properties="jvm.properties"
    options="-appname myNewEarApp -update -deployws"
    host="localhost"
    conntype="SOAP"
    user="the_username"
    password="not_telling_you"
    failonerror="true" />

ws_ant.shWAS 와 함께 패키지로 실행 하면 OutOfMemoryError및 힙 덤프가 발생합니다.

따라서 런타임에 작업 (또는 ws_ant 자체?)에 사용 가능한 힙을 늘려야하지만 그렇게 할 적절한 장소를 알 수는 없습니다. wsadmin.sh 수정을 시도했지만 wsadmin.sh직접 배포하여 Jython 스크립트로 배포를 실행 <wsInstallApp>하면 Ant 스크립트 내 에서의 실행에 영향을 미치지 않는 것 같습니다 .

에 따르면 wsInstallApp의 IBM 문서 :

속성은 선택 사항이며 속성과는 JVM 시스템 속성에서 설정하는 속성이 포함 된 자바 프로퍼티 파일을 포함

jvm.properties파일에서 다음을 시도했습니다.

[user@localhost]$ cat jvm.properties
-Xms4096m
-Xmx4096m

효과가 없었습니다. 실행 ws_ant.sh와 함께 -v자세한 플래그는 어딘가의 -Xmx 값으로 설정되어 있음을 보여 주었다 -Xmx256m. 나는 머리에 다른 몇 가지 조합과 형식을 시도했지만 아무것도 작동하지 않는 것 같습니다.

또한 ws_ant.sh호출에 인수를 추가하려고했습니다 .

[user@localhost]$ ws_ant.sh -Xms4096m -Xmx4096m -v -f build.xml was.deploy

...하지만 아무것도하지 않는 것 같습니다.

내가 무엇을 잘못하고 있지? 압축 wsadmin.sh하면 Jython 스크립트를 사용하여 배포를 다시 작성하여 요구 사항을 충족시킬 수 있지만 다른 EAR 응용 프로그램의 광범위한 Ant 스크립팅을 활용하려고합니다.

대안? 또한 Ant 태스크를 사용하여 Ant 내에서 일부 Jython 스크립트를 호출 할 수 있다는<wsadmin> 것을 알고 있습니다. 한 가지 방법과 다른 방법의 상대적인 장점과 단점은 무엇입니까? (즉, 실행 wsadmin.sh/ 비아 자이 스크립트 <[ssh]exec>또는 <wsadmin><wsInstallApp>[및 "ws_____"형제).


나는 같은 문제가 있었고 ws_ant.sh를 직접 수정하는 것 외에 다른 해결책을 찾지 못했습니다. 난 당신이에서 개발자 WAS에서이에 코멘트를 얻을 수 있다고 생각 developer.ibm.com/answers
UnclickableCharacter

답변:


0

jvmMaxMemory 속성을 시도하십시오

<wsInstallApp
    ear="/my/ear/file/location/New.EAR"
    jvmMaxMemory="1024M"
    options="-appname myNewEarApp -update -deployws"
    host="localhost"
    conntype="SOAP"
    user="the_username"
    password="not_telling_you"
    failonerror="true" />

0

ws_ant.sh의 경우 JVM_EXTRA_CMD_ARGS env 변수 를 사용해야합니다 .

export JVM_EXTRA_CMD_ARGS="-Xms1G -Xmx2G"
sh $WEBSPHERE_HOME/bin/ws_ant.sh -f was-build.xml

요점을 증명하기 위해 최소 및 최대 크기 "-Xms2G -Xmx1G"를 바꾸면 오류가 발생합니다.

VMJ9GC019E -Xms too large for -Xmx
JVMJ9VM015W Initialization error for library j9gc26(2): Failed to initialize
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

0

우리는 배포를 위해 Maven을 사용하고 있으며 jvmMaxMemory를 wsInstallApp에 추가하여 확인할 수 있습니다. 원래 플러그인을 포크하고 지원을 추가해야했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.