Linux

Sun Grid Engine 設置每個作業的記憶體要求

  • February 18, 2019

我希望能夠為每個作業設置記憶體要求。

例如:執行 5 個作業,我知道每個作業都需要 4 GB 記憶體。我在 Ubuntu 伺服器上有 16 GB RAM 和 16 GB 交換空間。我想避免使用交換。我可以做類似的事情:

qsub -l mem_required_for_my_job=4G job1
qsub -l mem_required_for_my_job=4G job2
qsub -l mem_required_for_my_job=4G job3
qsub -l mem_required_for_my_job=4G job4
qsub -l mem_required_for_my_job=4G job5

? 這些作業有時需要 4 GB,但一開始不需要。

如何告訴 SGE 我的要求是什麼?當只有 16 GB 可用時,如何避免調度 5 x 4 GB?

我閱讀了使用者指南並嘗試了s_vmem, h_vmem, mem_free, mem_used. 它們都不是我想要的。我不希望我的工作在處理過程中被殺死。我不希望它們被安排,除非有可用的最大資源。

我可以這樣做嗎?

謝謝你們!

在我們的集群上,我們h_vmem用來強制執行作業記憶體分配。

您似乎缺少的是將可用數量設置為可消耗資源。在復合體對話框qconf -mc中或中,qmon您需要將資源設置為可請求和可消耗的。

然後,在每台主機上,qconf -me您需要在complex_values.

例如,我們的主機定義如下所示:

hostname              node004
load_scaling          NONE
complex_values        h_vmem=30.9G,exclusive=1,version=3.3.0

引用自:https://serverfault.com/questions/241813