<div dir="ltr"><div>Bill, you know this already. But permit me an observation from PPBpro.</div><div>Turn up the logging level to maximum on the nodes. Tail the slurm log and start a job.</div><div>Look HARD at exactly what the log is telling you - and as Richard Feynman says you are the easiest person to fool.</div><div>Dont take the log to say what you think is happening - remember that log messages take effort to put in the code,</div><div>well at least some keystrokes, so they usually mean something!</div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, 16 Oct 2018 at 10:04, John Hearns <<a href="mailto:hearnsj@googlemail.com">hearnsj@googlemail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Rather dumb question from me - you have checked those processes are running within a cgroup?</div><div>I have no experience in constraining the swap usage using cgroups, so sorry if I am adding nothing to the debate here.</div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, 16 Oct 2018 at 04:49, Bill Broadley <<a href="mailto:bill@cse.ucdavis.edu" target="_blank">bill@cse.ucdavis.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Greetings,<br>
<br>
I'm using ubuntu-18.04 and slurm-18.08.1 compiled from source.<br>
<br>
I followed the directions on:<br>
<a href="https://slurm.schedmd.com/cgroups.html" rel="noreferrer" target="_blank">https://slurm.schedmd.com/cgroups.html</a><br>
<br>
And:<br>
<a href="https://slurm.schedmd.com/cgroup.conf.html" rel="noreferrer" target="_blank">https://slurm.schedmd.com/cgroup.conf.html</a><br>
<br>
That resulted in:<br>
$ cat slurm.conf | egrep -i "cgroup|CR_"<br>
ProctrackType=proctrack/cgroup<br>
TaskPlugin=task/cgroup<br>
SelectTypeParameters=CR_CPU_MEMORY<br>
JobAcctGatherType=jobacct_gather/cgroup<br>
<br>
$ cat /etc/default/grub  | grep GRUB_CMDLINE_LINUX=<br>
GRUB_CMDLINE_LINUX='cgroup_enable=memory swapaccount=1 console=tty0<br>
transparent_hugepage=madvise console=ttyS0,57600'<br>
<br>
$ cat cgroup.conf<br>
CgroupAutomount=yes<br>
ConstrainCores=yes<br>
ConstrainDevices=yes<br>
ConstrainRAMSpace=yes<br>
ConstrainSwapSpace=yes<br>
MaxSwapPercent=0<br>
AllowedSwapSpace=0<br>
<br>
So I expect jobs to not use swap.  Turns out if I run a 3GB ram process with<br>
sbatch --mem=1000 I just get a process that uses 1GB ram and 2GB of swap.<br>
<br>
So a 3GB process with --mem=1000:<br>
  $ ps acux<br>
  USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND<br>
  bill     17698 11.1  1.5 2817020 1015392 ?     D    20:40   0:13 stream\<br>
<br>
  $ smem<br>
  User     Count     Swap      USS      PSS      RSS<br>
  bill         1  1795552  1017048  1017076  1018492<br>
<br>
With --mem=3000 zero swap is used and the job consumes 100% of a CPU.<br>
<br>
</blockquote></div>
</blockquote></div>