有没有办法告诉神鹰每台机器不超过N个核心(超过N个核心)来执行一组特定的工作?实际的问题是我的每个作业都需要大量的内存,所以为了在整个过程中变得更好,可能有必要防止condor在同一台机器的不同内核上执行超过如此多的作业,因为这样就完成了整个机器的内存将耗尽,导致作业使用更慢的硬盘。
答案 0 :(得分:1)
如果我正确理解您的问题,最简单的方法就是限制每个插槽上可用的核心数量。查看手册中的section 3.5.1.12。基本上,您将配置文件放在计算节点上的config.d文件夹中,该文件明确定义该节点上的插槽。例如,如果你有一个四核CPU并且你只想让condor能够使用两个,你可以在配置文件中使用以下行:
SLOT_TYPE_1 = cpus=2
NUM_SLOTS = 1
NUM_SLOTS_TYPE_1 = 1
答案 1 :(得分:0)
当前我有一个4核的计算机,默认情况下,神鹰使用您计算机的所有4核并创建相同的编号。插槽。见下文
root@ubuntu:~$ condor_status
Name OpSys Arch State Activity LoadAv Mem ActvtyTime
slot1@ubuntu LINUX X86_64 Owner Idle 0.000 1967 0+00:10:04
slot2@ubuntu LINUX X86_64 Owner Idle 0.000 1967 0+00:10:06
slot3@ubuntu LINUX X86_64 Owner Idle 0.000 1967 0+00:10:06
slot4@ubuntu LINUX X86_64 Owner Idle 0.000 1967 0+00:10:07
现在,如果我想将condor机器的cpu核心限制从4核心限制为2核心,那么请执行以下操作,
$ vi /etc/condor/config.d/00debconf
OR
$ vi /etc/condor/condor_config
SLOT_TYPE_1 = cpus=2 # limit condor for 2 cpu's only
NUM_SLOTS = 2 # create each slot for 2 cpu's
service condor restart
root@localhost:~$ condor_status
Name OpSys Arch State Activity LoadAv Mem ActvtyTime
slot1@ubuntu LINUX X86_64 Owner Idle 0.000 1967 0+00:05:04
slot2@ubuntu LINUX X86_64 Owner Idle 0.000 1967 0+00:05:06
现在您可以看到我的秃鹰机器仅使用2个核心,并且仅创建了2个插槽,正如我们在condor配置文件中提到的那样。