<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>On 4/28/21 2:26 AM, Diego Zuccato wrote:<br>
</p>
<blockquote type="cite"
cite="mid:727503b2-587b-b7a8-fe21-2ea98b3a310c@unibo.it">Il
27/04/2021 17:31, Prentice Bisbal ha scritto:
<br>
<br>
<blockquote type="cite">I don't think PAM comes into play here.
Since Slurm is starting the processes on the compute nodes as
the user, etc., PAM is being bypassed.
<br>
</blockquote>
Then maybe slurmd somehow goes throught the PAM stack another way,
since limits on the frontend got propagated (as implied by
PropagateResourceLimits default value of ALL).
<br>
And I can confirm that setting it to NONE seems to have solved the
issue: users on the frontend get limited resources, and jobs on
the nodes get the resources they asked.
<br>
<br>
</blockquote>
<p>In this case, Slurm is deliberately looking at the resource
limits effect when the job is submitted on the submission host,
and then copying them the to job's environment. From the
slurm.conf documentation
(<a class="moz-txt-link-freetext" href="https://slurm.schedmd.com/slurm.conf.html">https://slurm.schedmd.com/slurm.conf.html</a>): <br>
</p>
<p>
<blockquote type="cite">
<dl compact="compact">
<dt><b>PropagateResourceLimits</b></dt>
<dd>
A comma-separated list of resource limit names.
The slurmd daemon uses these names to obtain the associated
(soft) limit
values from the user's process environment on the submit
node.
These limits are then propagated and applied to the jobs
that
will run on the compute nodes.'</dd>
</dl>
</blockquote>
</p>
<p>Then later on, it indicates that all resource limits are
propagated by default: <br>
</p>
<p>
<blockquote type="cite">The following limit names are supported by
Slurm (although some
options may not be supported on some systems):
<dl compact="compact">
<dt><b>ALL</b></dt>
<dd>
All limits listed below (default)<br>
</dd>
</dl>
</blockquote>
</p>
<p>You should be able to verify this yourself in the following
manner: <br>
</p>
<p>1. Start two separate shells on the submission host</p>
<p>2. Change the limits in one of the shells. For example, reduce
core size to 0, with 'ulimit -c 0' in just one shell. <br>
</p>
<p>3. Then run 'srun ulimit -a' from each shell. <br>
</p>
<p>4. Compare the output. The one shell should show that core size
is now zero. <br>
</p>
<p>--</p>
<p>Prentice<br>
</p>
</body>
</html>