Linux
Sun Grid Engine 設置每個作業的記憶體要求
我希望能夠為每個作業設置記憶體要求。
例如:執行 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