标签: sungridengine

qstat和长工作名称

我怎样才能qstat给我完整的工作名称?

我知道qstat -r提供有关任务的详细信息,但它太多了,并且包含了资源要求.

qstat -r输出是这样的:

 131806 0.25001 tumor_foca ajalali      qw    09/29/2014 15:49:41                                    1 2-100:1
       Full jobname:     tumor_focality-TCGA-THCA-ratboost_linear_svc
       Hard Resources:   distribution=wheezy (0.000000)
                         h_rt=72000 (0.000000)
                         mem_free=15G (0.000000)
                         h_vmem=15G (0.000000)
                         h_stack=256M (0.000000)
       Soft Resources:   
 131807 0.25001 vital_stat ajalali      qw    09/29/2014 15:49:41                                    1 2-100:1
       Full jobname:     vital_status-TCGA-LGG-ratboost_linear_svc
       Hard Resources:   distribution=wheezy (0.000000)
                         h_rt=72000 (0.000000)
                         mem_free=15G (0.000000)
                         h_vmem=15G (0.000000)
                         h_stack=256M (0.000000)
       Soft Resources:   
Run Code Online (Sandbox Code Playgroud)

现在我唯一的选择就是根据grep需要输出:

$ qstat -r | grep "Full jobname" -B1
--
 131806 0.25001 tumor_foca ajalali      qw …
Run Code Online (Sandbox Code Playgroud)

linux bash4 sungridengine

36
推荐指数
3
解决办法
2万
查看次数

如何在qsub中指定错误日志文件和输出文件

我有一个qsub脚本

#####----submit_job.sh---#####
    #!/bin/sh
    #$ -N job1
    #$ -t 1-100
    #$ -cwd
    SEEDFILE=/home/user1/data1
    SEED=$(sed -n -e "$SGE_TASK_ID p" $SEEDFILE)
    /home/user1/run.sh $SEED 
Run Code Online (Sandbox Code Playgroud)

问题是 - 它将所有错误和输出文件(job1.eJOBID和job1.oJOBID)放在我运行qsub submit_job.sh的同一目录中,而我想保存这些文件(输出和错误日志文件在相同的不同place(指定为$ SEED_output).我试图将行更改为

/home/user1/run.sh $SEED -o $SEED_output
Run Code Online (Sandbox Code Playgroud)

但它没有用.有什么建议?? 如何指定默认输出和错误日志文件的路径和名称?

bash cluster-computing qsub sungridengine

25
推荐指数
1
解决办法
4万
查看次数

分段错误后清空核心转储文件

我正在运行程序,它被Segmentation fault中断.问题是核心转储文件已创建,但大小为零.

你听说过这样的案件以及如何解决吗?

我在磁盘上有足够的空间.我已经执行ulimit -c unlimited了无限制核心文件的大小 - 运行它或放在提交的批处理文件的顶部 - 但仍然有0字节的核心转储文件.包含这些文件的文件夹的权限是uog + rw,创建的核心文件的权限仅为u + rw.

该程序是由C++编写的,并使用Grid Engine的qsub命令在linux集群上提交,我不知道这些信息是否与此问题相关.

linux debugging coredump segmentation-fault sungridengine

15
推荐指数
2
解决办法
8553
查看次数

从sge下的qsub命令中排除节点

我有200多个工作需要提交给sge集群.我将把它们提交给两个问题.其中一个问题是我不想提交工作的机器.我怎样才能排除那台机器?我发现的唯一可能有用的是(假设q1有三个有效节点,q2的所有可用节点都有效):

qsub -q q1.q@n1 q1.q@n2 q1.q@n3 q2.q
Run Code Online (Sandbox Code Playgroud)

qsub nodes sungridengine

13
推荐指数
2
解决办法
1万
查看次数

在SGE中按数字及其名称请求节点

  1. 如何在SGE中提交作业时请求节点数(不是procs)?

    例如在TORQUE中,我们可以指定 qsub -l nodes=3

  2. 如何在SGE中按名称请求节点?

    比如,对于Torque,我们可以做到这一点qsub -l nodes=abc+xyz+pqr,在那里abc,xyz并且pqr是主机名

    对于单个主机名,qsub -l hostname=abc它可以工作.但是如何在SGE中划分多个主机名?

sungridengine

11
推荐指数
1
解决办法
2万
查看次数

Sun Grid Engine完成了工作信息

有没有办法列出使用qstat或其他SGE命令执行Sun Grid Engine作业的节点?

我必须使用python脚本获取此信息.我已经弄清楚如何从python执行SGE命令,但我没有找到列出特定作业的执行节点的解决方案.我试图列出已完成的工作

qsub -s z -f -F
Run Code Online (Sandbox Code Playgroud)

但执行该作业的主机名称不会出现在此列表中.有人可以帮我吗?

sungridengine

10
推荐指数
1
解决办法
4869
查看次数

从Sun Grid Engine上使用qsub提交的进程获取退出代码

我想通过qsub在Sun Grid Engine上提交作业(现在:Oracle Grid Engine?).我不希望使用-sync yes选项或qrsh,因为我希望我的控制程序是单线程的,并且能够一次启动多个作业.这些选项会阻止我的控制程序的线程.

但是,我想收到我发布的进程的退出状态.从手册页中,似乎无法在不阻塞我的线程的情况下获取此代码.如果没有修改我正在启动的作业以将其退出代码打印到stdout,是否有任何方法可以获得此状态?

exit-code qsub single-threaded sungridengine

8
推荐指数
1
解决办法
4466
查看次数

评论中的变量扩展

是否可以在bash脚本中的注释中扩展变量?

我想写一个脚本来提供给SGE.该qsub语法允许我将其他参数传递到使用bash脚本与开始内部线网格引擎#$.例如,

#$ -q all.q
#$ -S /bin/bash
#$ -V
#$ -m beas
#$ -o run_20120103.out
Run Code Online (Sandbox Code Playgroud)

我想要的是,-o参数是动态设置为变量的$1.所以我会天真地写

#$ -o run_${1}.out
Run Code Online (Sandbox Code Playgroud)

但是,由于行以a开头#,bash忽略它并且变量$1未展开.

有任何想法吗?一些bash预处理器?还有其他方法吗?

编辑我只是选择了$1一个例子.它也可以$FOO$BAR.

bash preprocessor sungridengine

8
推荐指数
1
解决办法
1564
查看次数

如何qdel范围的工作?

我想要qdel一系列具有连续ID的工作.例如:

qdel 18280 18281 18282 18283 18284 18285
Run Code Online (Sandbox Code Playgroud)

想象一下像这样的更长的连续ID列表.我显然不必手动打字.有更简单的方法吗?

sungridengine

8
推荐指数
1
解决办法
4536
查看次数

在SLURM中运行没有顶级脚本的二进制文件

在SGE/PBS中,我可以像在本地一样向集群提交二进制可执行文件.例如:

qsub -b y -cwd echo hello
Run Code Online (Sandbox Code Playgroud)

将提交一个名为echo的作业,该作业将"hello"一词写入其输出文件.

我如何向SLURM提交类似的工作.它希望文件在第一行有一个hash-bang解释器.在SLURM我得到

$ sbatch echo hello
sbatch: error: This does not look like a batch script.  The first
sbatch: error: line must start with #! followed by the path to an interpreter.
sbatch: error: For instance: #!/bin/sh
Run Code Online (Sandbox Code Playgroud)

或使用pseuodo qsub:

$ qsub echo hello
There was an error running the SLURM sbatch command.
The command was:
'/cm/shared/apps/slurm/14.11.3/bin/sbatch echo hello  2>&1'
and the output was:
'sbatch: error: This does not look like a batch script. …
Run Code Online (Sandbox Code Playgroud)

bash cluster-computing pbs sungridengine slurm

7
推荐指数
1
解决办法
1795
查看次数