如何限制每台机器使用的condor核心数

时间:2016-01-28 20:47:07

标签: condor

有没有办法告诉神鹰每台机器不超过N个核心(超过N个核心)来执行一组特定的工作?实际的问题是我的每个作业都需要大量的内存,所以为了在整个过程中变得更好,可能有必要防止condor在同一台机器的不同内核上执行超过如此多的作业,因为这样就完成了整个机器的内存将耗尽,导致作业使用更慢的硬盘。

2 个答案:

答案 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核心,那么请执行以下操作,

  1. 在以下文件之一中添加以下行:
   $ 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

  1. 运行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配置文件中提到的那样。