RedHat/CentOS 5.5 백그라운드 프로세스 메모리 제한

RedHat/CentOS 5.5 백그라운드 프로세스 메모리 제한

저는 Linux에서 Java를 사용하여 Fisheye를 실행하고 있습니다. 설정은 다음과 같습니다:

빌드 옵션

FISHEYE_OPTS=`$JAVACMD -Xms100m -Xmx200m -cp $FISHEYE_HOME/fisheyeboot.jar com.cenqua.fisheye.boot.OptsSetter`

fisheye 명령 빌드

FISHEYE_CMD="$JAVACMD $FISHEYE_OPTS -Xms100m -Xmx200m -Dfisheye.library.path=$FISHEYE_LIBRARY_PATH -Dfisheye.inst=$FISHEYE_INST -Djava.awt.headless=true -Djava.endorsed.dirs=$FISHEYE_HOME/lib/endorsed -jar $FISHEYE_HOME/fisheyeboot.jar"

그런 다음 다음을 실행합니다.

cd $FISHEYE_INST
mkdir -p $FISHEYE_INST/var/log
nohup sh -c "exec $FISHEYE_CMD $@ $FISHEYE_ARGS >> $FISHEYE_INST/var/log/fisheye.out 2>&1" &

그래서북면이 명령은 백그라운드에서 프로그램을 실행합니다. "메모리 부족" 또는 힙 파일에 대한 내용이 표시되면서 시작되지 않습니다.

그러나 이렇게 하면 exec $FISHEYE_CMD $@ $FISHEYE_ARGS잘 작동하지만 백그라운드에는 없습니다.

그렇다면 백그라운드에서 실행할 때 어떻게 더 많은 메모리를 사용하게 할 수 있는지 궁금합니다.

답변1

귀하의 예에서는 exec 명령이 필요하지 않다고 생각합니다. nohup 없이도 시도해 볼 수 있나요? 이 시도:

nohup sh -c "$FISHEYE_CMD $@ $FISHEYE_ARGS >> $FISHEYE_INST/var/log/fisheye.out 2>&1" &

bash위의 방법이 작동하지 않으면 다음을 사용해 보십시오 sh.

nohup bash -c "$FISHEYE_CMD $@ $FISHEYE_ARGS >> $FISHEYE_INST/var/log/fisheye.out 2>&1" &

마지막으로, 이러한 제안 중 어느 것도 작동하지 않으면 "shell -c" 매개변수를 모두 제거해 보겠습니다. 이 시도:

nohup "$FISHEYE_CMD $@ $FISHEYE_ARGS >> $FISHEYE_INST/var/log/fisheye.out 2>&1" &

인용하다

관련 정보