qsub
在使用 登录节点后,我正在大学集群中提交一份 Matlab 作业ssh
。
该作业内存不足。这是我收到的解决问题的建议:“可能的解决方案是在更大的机器上运行或购买更多 RAM”。
这对于我的 bash 文件来说实际上意味着什么? bash 文件的哪几行控制机器或 RAM 的大小?目前,在我的 bash 文件(见下文)中,我请求vmem
和tmem
.有这些 RAM 吗?
#$ -S /bin/bash
#$ -l h_vmem=18G
#$ -l tmem=18G
#$ -l h_rt=480:0:0
#$ -cwd
#$ -j y
#Run 600 tasks where each task has a different $SGE_TASK_ID ranging from 1 to 600
#$ -t 1-600
#$ -N try
date
hostname
#Output the Task ID
echo "Task ID is $SGE_TASK_ID"
matlab -nodisplay -nodesktop -nojvm -nosplash -r "main_1; ID = $SGE_TASK_ID; f_1; exit"
答案1
以开头的行将#$
被 忽略bash
。它们是qsub
排队系统的命令。任何以 an 开头的行#
都会被 bash 忽略,qsub
具体来说,使用#$
来指示它自己的参数。
就您而言,您的管理员已对其进行了设置,因此它可以采用这两个似乎与内存有关的参数:
#$ -l h_vmem=18G
#$ -l tmem=18G
您需要与您正在使用的服务器的管理员交谈,并要求他们告诉您如何调整这些值,或使用另一个标志来请求更多内存。详细信息将特定于您的设置,因此我们无法提供更多帮助。