[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [HTCondor-users] WANT_HOLD condition does not work on Windows



WANT_HOLD does work on Windows,  but it will have no effect unless PREEMPT is also set.

 

You can think of WANT_HOLD is a modifier on the PREEMPT _expression_.  it is what to do *after* preempt triggers.

 

Detection of excessive memory use on Windows is slower than on Linux with cgroups, but it does work. 

 

-tj

 

From: HTCondor-users <htcondor-users-bounces@xxxxxxxxxxx> On Behalf Of Serafim Urukov via HTCondor-users
Sent: Thursday, November 24, 2022 2:07 AM
To: htcondor-users@xxxxxxxxxxx
Cc: Serafim Urukov <serafim.urukov@xxxxxxxxxxxxxx>
Subject: [HTCondor-users] WANT_HOLD condition does not work on Windows

 

I am experiencing a problem with WANT_HOLD configuration on Windows. Originally it was like this

 

    # 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

 

Does WANT_HOLD work on Windows?

 

--
Serafim Urukov
Software Developer
DATADVANCE