# Limiting Job memory consumption.
MEMORY_EXCEEDED = ((MemoryUsage > Memory) =?= TRUE)
PREEMPT = ($(PREEMPT)) || $(MEMORY_EXCEEDED)
WANT_SUSPEND = $(WANT_SUSPEND) && $(MEMORY_EXCEEDED)
WANT_HOLD = $(MEMORY_EXCEEDED)
WANT_HOLD_REASON = ifThenElse( $(MEMORY_EXCEEDED), \
strcat("Memory limit exceeded: ", eval(MemoryUsage), " MB > ", eval(Memory), " MB"), \
undefined )
This part of config works as expected on Linux, but neglected on Windows. I supposed that is related with config syntax, but there is no errors traced in logs.
Moreover, even if I set literally WANT_HOLD = TRUE, nothing happens. I haven't found something related to "platform specific" for this case.
My job is a demo script that consumes about ~1 MiB of memory each 0.5 s.
Expected behavior: when job uses a lot of memory it should be stopped by WANT_HOLD.
Real behavior: job runs infinite, OS Windows even involves swap memory.
OS: Windows 10 Pro 21H2 19044.2251
HTCondor: 8.9.11