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" &

引用する

関連情報