2

我正在尝试将作业提交到集群 [运行 Sun Grid Engine (SGE)]。该工作不断被终止,报告如下:

Job 780603 (temp_new) Aborted
 Exit Status      = 137
 Signal           = KILL
 User             = heaswara
 Queue            = std.q@comp-0-8.local
 Host             = comp-0-8.local
 Start Time       = 08/24/2013 13:49:05
 End Time         = 08/24/2013 16:26:38
 CPU              = 02:46:38
 Max vmem         = 12.055G
failed assumedly after job because:
job 780603.1 died through signal KILL (9)

我设定的资源要求是:

#$ -l mem_free=10G
#$ -l h_vmem=12G

mem_free是我的作业需要h_vmem的内存量,是作业允许使用的内存量的上限。我想知道我的工作将被终止,因为它需要超过该阈值(12G)。有没有办法估计我的操作需要多少内存?我试图弄清楚应该是上限。提前致谢。

4

1 回答 1

0

这取决于工作本身的性质。如果您对正在运行的程序有所了解(即,您编写了它),您应该能够估计它需要多少内存。如果没有,您唯一的办法就是无限制地运行它,看看它实际使用了多少。

我有一堆我运行的 FPGA 构建和仿真工作。在每项工作之后,我都会跟踪实际使用了多少内存。我可以使用这些历史信息来估计它将来可能使用多少(我填充 10%,以防源中有一些奇怪的变化)。但是,每当供应商提供新版本的工具时,我仍然必须重新计算,因为内存占用量经常会发生巨大变化。

于 2013-09-15T20:32:10.753 回答