2015-06-24 54 views
2

說我有一個10 slotsn 我已經申請一個用戶限制到該主機如下主機: SLOT = 5 JOB = 3主機可用性用於與限制考慮用戶

是否有一個命令,以找到該主機是否可以從該用戶運行更多作業? 或者,是否有命令來查找所述主機是否對於所述用戶關閉。

在此先感謝!

回答

1

以你的你的極限的描述,我想它的定義看起來是這樣的:

Begin Limit 
NAME = L1 
USERS = user1 
SLOTS = 5 
JOBS = 3 
HOSTS = hostA 
End Limit 

如果我再提交3個項目爲USER1,我可以運行blimits -u user1,看是否有強加任何限制user1或blimits -m hostA查看是否有與hostA相關的任何限制。我還可以結合這些過濾器,看看是否有強加給用戶1 hostA上的所有相關限制:

$ blimits -u user1 -m hostA 

    INTERNAL RESOURCE LIMITS: 

     NAME   USERS   QUEUES   HOSTS   PROJECTS  SLOTS  MEM  TMP  SWP  JOBS 
     L1   user1    -    hostA    -   3/5  -  -  -  3/3 

此輸出(JOBS)的最後一列是我,這個用戶已經達到了他的極限在該主機上的工作(允許3個工作中的任何一個允許)。

+0

謝謝你的解釋。你說得對。但是,如果2個作業消耗5個插槽,那麼user1也不能在hostA上運行更多作業。因此,必須兼顧時間限制和工作限制成熟。 另外我不想在腳本中使用這些信息。我可以通過一些操作來實現它。但我不想參與這個過程。 能有一種更簡潔的方式,簡單地說主機是打開或關閉的用戶? – user5005786

+0

在消耗5個插槽的2個作業中,上述輸出中的SLOTS列將顯示5/5,表示該主機上該用戶的插槽限制已達到。至於你的命令,我不認爲LSF本身具有顯示它的實用程序。原因是主機可能由於許多原因而無法提供給用戶(不僅限於作業/插槽限制):它可能會被管理員關閉,可能會關閉,可能會被其他用戶的作業佔用等等。只是根據限制說開放/關閉並非如此簡單:您可能已達到MEM限制,但仍可向不要求MEM等的主機提交作業。 – Squirrel

+0

想到的一件事是,如果您只關心作業和SLOT限制,那麼你可以編寫一個小工具來返回yes或no,如果達到這些限制中的任何一個。我知道你可能不想進入腳本,但如果你有''C編程能力,你可以使用LSF API。 – Squirrel