There are already ways to get pool utilization information on a macro level. Until Condor 7.8 and the introduction of TotalSlot{Cpus,Memory,Disk}, there were no good ways to get utilization on a micro level. At least not with only the standard command-line tools.
Resource data is available per slot. Getting macro, pool utilization always requires aggregating data across multiple slots. Getting micro, slot utilization should not.
In a pool using partitionable slots, you can now get per slot utilization from the slot itself. There is no need for any extra tooling to perform aggregation or correlation. This means condor_status can directly provide utilization information on the micro, per slot level.
$ echo " Name Cpus Avail Util% Memory Avail Util%"
$ condor_status -constraint "PartitionableSlot =?= TRUE" -format "%15s" Name -format "%6d" TotalSlotCpus -format "%6d" Cpus -format "%5d%%" "((TotalSlotCpus - Cpus) / (TotalSlotCpus * 1.0)) * 100" -format "%8d" TotalSlotMemory -format "%6d" Memory -format "%5d%%" "((TotalSlotMemory - Memory) / (TotalSlotMemory * 1.0)) * 100" -format "\n" TRUE
Name Cpus Avail Util% Memory Avail Util%
slot1@eeyore0 16 12 25% 65536 48128 26%
slot2@eeyore0 16 14 12% 65536 58368 10%
slot1@eeyore1 16 12 25% 65536 40960 37%
slot2@eeyore1 16 15 6% 65536 62464 4%
This is especially useful when machines are configured into combinations of multiple partitionable slots or partitionable and static slots.
Someday the pool utilization script should be integrated with condor_status.
Tags: Condor, Tools, Utilization