资源需求语法错误

时间:2012-05-15 05:39:45

标签: memory resources csh lsf

我正在尝试使用LSF中可用的内存资源分配命令。 该命令的正常格式为:

  

bsub -R“rusage [mem = 1000]”睡100秒

当我直接从终端启动此命令时,它可以工作。 当我从脚本中启动此命令时,它会失败。

这是我的剧本:

#! /bin/csh -f

set cktsim_memory = $1
set tmp = "|rusage [mem = $cktsim_memory]|" #method2
set tmp = `echo $tmp | sed 's/ =/=/g'` #method2
set tmp = `echo $tmp | sed 's/|/"/g' `
set bsub_option = ""
set bsub_option = ( "$bsub_option" "-R" "$tmp") #method2
set cmd = "bsub $bsub_option sleep 100s"
echo $cmd
$cmd

其运行输出为:

>./cktsim_memory_test 100
bsub -R "rusage [mem= 100]" sleep 100s
Bad resource requirement syntax. Job not submitted.
>bsub -R "rusage [mem= 100]" sleep 100s
Job <99775> is submitted to default queue <medium>.

正如您在上面的终端输出中所看到的那样 - 当从脚本启动bsub命令时,它会失败,当从终端运行相同的命令时它就可以了......

请帮我调试一下这个问题。

1 个答案:

答案 0 :(得分:0)

    set cktsim_memory = $1
set temp = "'rusage [mem = $cktsim_memory]'" #method2
set temp = `echo $temp | sed 's/ =/=/g'` #method2
set bsub_option = ( "$bsub_option" "-R" "$temp")