[slurm-users] ulimit in sbatch script

Mahmood Naderan mahmood.nt at gmail.com
Sun Apr 15 13:28:56 MDT 2018

Thing is that both user and root see unlimited virtual memory when
they directly ssh to the node. However, when the job is submitted, the
user limits change. That means, slurm modifies something.

The script is

#SBATCH --job-name=hvacSteadyFoam
#SBATCH --output=hvacSteadyFoam.log
#SBATCH --ntasks=32
#SBATCH --time=100:00:00
#SBATCH --mem=64000M
ulimit -a
mpirun hvacSteadyFoam -parallel

The physical memory on the node is 64GB, therefore, I specified 64000M
for --mem. Is that correct? the only thing I am guessing is that --mem
also modifies virtual memory limit. Though I am not sure.


On Sun, Apr 15, 2018 at 11:32 PM, Bill Barth <bbarth at tacc.utexas.edu> wrote:
> Mahmood, sorry to presume. I meant to address the root user and your ssh to the node in your example.
> At our site, we use UsePAM=1 in our slurm.conf, and our /etc/pam.d/slurm and slurm.pam files both contain pam_limits.so, so it could be that way for you, too. I.e. Slurm could be setting the limits for jobscripts for your users, but for root SSHes, where that’s being set by PAM through another config file. Also, root’s limits are potentially differently set by PAM (in /etc/security/limits.conf) or the kernel at boot time.
> Finally, users should be careful using ulimit in their job scripts b/c that can only change the limits for that shell script process and not across nodes. That jobscript appears to only apply to one node, but if they want different limits for jobs that span nodes, they may need to use other features of SLURM to get them across all  the nodes their job wants (cgroups, perhaps?).
> Best,
> Bill.
> --
> Bill Barth, Ph.D., Director, HPC
> bbarth at tacc.utexas.edu        |   Phone: (512) 232-7069
> Office: ROC 1.435            |   Fax:   (512) 475-9445

More information about the slurm-users mailing list