我正在尋找一種方法將sacct自動提供的作業信息自動保存到某個文件中。到目前爲止,我在作業批處理腳本中包含了一個sacct調用,但狀態總是「RUNNING」。自動保存slurm作業信息
有沒有辦法在工作結束/死亡後自動調用sacct ?
我唯一想到的是提交第二份工作,然後調用sacct,但這顯然不是一個好選擇。
我正在尋找一種方法將sacct自動提供的作業信息自動保存到某個文件中。到目前爲止,我在作業批處理腳本中包含了一個sacct調用,但狀態總是「RUNNING」。自動保存slurm作業信息
有沒有辦法在工作結束/死亡後自動調用sacct ?
我唯一想到的是提交第二份工作,然後調用sacct,但這顯然不是一個好選擇。
您可以在slurm.conf
中設置一個文件來存儲JobCompLoc
的作業完成數據。 (我們解析該文件以在作業完成電子郵件中發送額外信息,其中包括(我認爲)您從sacct
獲得的所有內容)。
有趣!不幸的是,我似乎沒有訪問'JobCompLoc'文件夾,我也不能修改'slurm.conf',因爲我在羣集上。應該提到這一點。 – allion
相反,在第一個依賴第一個(_e.g._,'--dependency = afterany:firstjobid')的時候運行第二個工作似乎就像你無法訪問Slurm日誌或配置文件。你有避免這種方法的特殊原因嗎? – TheDudeAbides
我看到了兩個問題:1.集羣管理員強烈反對提交那些基本上沒有任何作用的作業,以限制對調度程序的壓力(同樣的精神,他們只提供每隔30秒更新一次的squeue緩存版本)2.在運行我的作業陣列我的公平份額非常低,所以我不能確定第二份工作在sacct提供的信息被清除之前正在運行(隊列在這裏可能很長)。 – allion
好的,我明白了。 ['at'](http://man.cx/at)是否是羣集節點上的一個選項?儘管我忘記了如何用Slurm做到這一點,但如果你可以在節點上獲得交互式登錄,請檢查'/ usr/lib/cron/at.allow'(可能只是'/ etc/cron.allow')和'/ usr/lib/cron/at.deny'來確定。我不會指望它 - 因爲Slurm排除了'at' /'batch'的需要。但是,如果出於某種原因在節點上允許'at''',則可以在指定的時間間隔運行'sacct'命令_集羣作業本身已經終止。 – TheDudeAbides