[英]How to save output when running job on cluster using SLURM
我想使用 SLURM 運行 R 腳本。 我創建了 R 腳本“test.R”,如圖所示:
print("Running the test script")
write.csv(head(mtcars), "mtcars_data_test.csv")
我創建了一個 bash 腳本來運行這個 R 腳本“submit.sh”
#!/bin/bash
#sbatch --job-name=test.job
#sbatch --output=.out/abc.out
Rscript /home/abc/job_sub_test/test.R
我在集群上提交了作業
sbatch submit.sh
我不確定我的 output 保存在哪里。 我查看了主目錄,但沒有 output 文件。
編輯
我還在test.R
中設置了我的工作目錄,但沒有什么不同。
setwd("/home/abc")
print("Running the test script")
write.csv(head(mtcars), "mtcars_data_test.csv")
當我在沒有 SLURM Rscript test.R
的情況下運行腳本時,它運行良好並根據設置的路徑保存了 output。
Slurm 會將作業工作目錄設置為發出sbatch
命令時的工作目錄。
假設/home
目錄安裝在所有計算節點上,您可以使用提交腳本中的cd
或 R 語法中的setwd()
顯式更改工作目錄。 但這不應該是必要的。
三種可能:
sacct
命令查看state
列。sacct
找到)並在那里查找文件; 或者.out/abc.out
)。 請注意,在作業開始之前必須存在.out
目錄,並且它以 .out 開頭.
,它將是一個隱藏文件,在ls
中僅使用-a
參數顯示。sbatch 的 --output 參數與您提交作業的文件夾相關。 R 腳本中的 setwd 不會影響它,因為 Slurm 已經解析了該參數並在 ZE1E1D3D40573127E9EE0480CAF128D 腳本運行時開始將 output 傳送到文件。
首先,如果您希望 output 到 go 到 /home/abc/.out/ 確保您在提交腳本時位於 homedir 中,或者指定 --output 參數的完整路徑。
其次,.out 文件夾必須存在; 我對此進行了測試,如果沒有,Slurm 不會創建它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.