我正在提交使用qsub
运行并行 R 的作业。我的目的是让 R 程序在 4 个不同的内核而不是 8 个内核上运行。PBS
以下是我在文件中的一些设置:
#PBS -l nodes=1:ppn=4
....
time R --no-save < program1.R > program1.log
我正在发出命令ta job_id
,我看到列出了 4 个内核。但是,作业占用大量内存(31944900k used vs 32949628k total)
。如果我使用 8 个内核,作业会由于内存限制而挂起。
top - 21:03:53 up 77 days, 11:54, 0 users, load average: 3.99, 3.75, 3.37
Tasks: 207 total, 5 running, 202 sleeping, 0 stopped, 0 zombie
Cpu(s): 30.4%us, 1.6%sy, 0.0%ni, 66.8%id, 0.0%wa, 0.0%hi, 1.2%si, 0.0%st
Mem: 32949628k total, 31944900k used, 1004728k free, 269812k buffers
Swap: 2097136k total, 8360k used, 2088776k free, 6030856k cached
这是发出命令时的快照ta job_id
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1794 x 25 0 6247m 6.0g 1780 R 99.2 19.1 8:14.37 R
1795 x 25 0 6332m 6.1g 1780 R 99.2 19.4 8:14.37 R
1796 x 25 0 6242m 6.0g 1784 R 99.2 19.1 8:14.37 R
1797 x 25 0 6322m 6.1g 1780 R 99.2 19.4 8:14.33 R
1714 x 18 0 65932 1504 1248 S 0.0 0.0 0:00.00 bash
1761 x 18 0 63840 1244 1052 S 0.0 0.0 0:00.00 20016.hpc
1783 x 18 0 133m 7096 1128 S 0.0 0.0 0:00.00 python
1786 x 18 0 137m 46m 2688 S 0.0 0.1 0:02.06 R
如何防止其他用户使用其他 4 个内核?我喜欢以某种方式掩盖我的工作是使用 8 个内核和 4 个内核空闲。
有人可以帮我解决这个问题吗?这可以用pbs解决吗?
非常感谢