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

参考

相关内容