So far as I understood,
mem_free
can be specified to submit a job in a host that has the memory free =mem_free
, whereash_vmem
is the hard limit of the memory up to which the job can consume and if the job reaches theh_vmem
, the job crashes? I think we can set theh_vmem
of a host near to the total physical memory, so that the job won't start using swap and slow the server down.
Then what is h_rss
? It seems to have the same definition as of h_vmem.
Or am I misinterpreting h_vmem
? Is h_vmem
used to reserve the extra memory that it might need than the minimum memory it's needed (mem_free
)? But do not crash if it exceeds the memory, so the job can exceed h_vmem
?
If my second interpretation of h_vmem
is correct, then I guess, for a job to be submitted in a host, the job has to satisfy both mem_free
and h_vmem
(given h_vmem
is not INFINITY).
And if my first interpretation of h_vmem
is correct, then I guess, for a job to be submitted in a host, the job can satisfy mem_free
alone and no need to satisfy h_vmem
, as it only reserves the space available and if there is no space available, it doesn't matter?