2012-07-17 39 views
0

從SGE節點的系統管理角度來看,是否可以強制用戶通過qsub運行長時間運行的程序,而不是單獨運行它?防止執行非SGE程序

問題在於同一臺機器充當控制節點和計算節點。所以,我無法從正在編譯「gcc」的用戶中區分長期運行的程序。理想情況下,我想強制用戶通過qsub提交長時間運行的作業(即超過一個小時)。我甚至不介意有點意思,殺死超過一個小時但未通過qsub提交的工作。

到現在爲止,所有我能做的就是發送電子郵件出要求用戶「請用的qsub!」 ......

我已經通過SGE配置看去,似乎沒有任何相關性。但也許我錯過了什麼......任何幫助將不勝感激!謝謝!

回答

0

我對你的設置有點困惑,但我假設用戶通過登錄什麼也是計算節點提交作業。這裏有一些想法,從最好到最壞:

  1. 很明顯,最好的辦法是爲用戶設置一個單獨的控制節點。

  2. 限制,運行資源受限的VM作爲控制節點。

  3. 在節點上配置用戶級資源限制(例如ulimit)。您可以限制CPU,內存和進程的使用情況,這可能是您關心的而不是時鐘時間。

這聽起來像最後一個可能是最適合你的。這也不難。

+0

謝謝您的建議!對不起,如果我不是很清楚。假設有一個計算密集型程序「foo」。我不想限制「用戶A」用「foo」佔用的資源。我寧願他們運行foo作爲「qsub ./script-to-run-foo」而不是「./foo」。使用ulimit會限制他們的程序運行的方式。我並不擔心這一點,但更擔心用戶「跳過隊列」[其他用戶的排隊工作]。 – Ray 2012-07-19 03:25:07