[slurm-users] [EXTERNAL]Re: slurm sinfo format memory

Roberto Monti Roberto.PolverelliMonti at jax.org
Fri Jul 21 14:17:26 UTC 2023

The proposed solution will break for values >=1000G.

As sinfo is apparently stuck with megabytes, you will have to do something like:

sinfo -o "%n %m %e %C" | awk '$3 ~ /[0-9]+/ {printf "%s %iG %iG %s\n", $1, $2 / 1024, $3 / 1024, $4}'

numfmt is another option, but it is only with newer versions of GNU coreutils that they added multi-field support. 

Roberto P. Monti
DevOps Engineer I
roberto.monti at jax.org

The Jackson Laboratory
United States | China | Japan

-----Original Message-----
From: slurm-users <slurm-users-bounces at lists.schedmd.com> On Behalf Of Kevin Buckley
Sent: Friday, July 21, 2023 5:04 AM
To: slurm-users at lists.schedmd.com
Subject: [EXTERNAL]Re: [slurm-users] slurm sinfo format memory

On 2023/07/21 00:24, Arsene Marian Alain wrote:
> I would like to see the following information of my nodes
>   "hostname, total mem, free mem and cpus".
> So, I used
>  'sinfo -o "%8n %8m %8e %C"'
> but in the output it shows me the memory in MB like "190560" and I 
> need it in GB (without decimals if possible) like "190GB". Any ideas 
> or suggestions on how I can do that?
> current output:
> node01   190560   125249   60/4/0/64
> node02   190560   171944   40/24/0/64
> node05   93280     91584     0/40/0/40
> node06   513120   509448   0/96/0/96
> node07   513120   512086   0/96/0/96
> node08   513120   512328   0/96/0/96
> node09   513120   512304   0/96/0/96
> desired output:
> node01   190GB   125GB   60/4/0/64
> node02   190GB   171GB   40/24/0/64
> node05   93GB      91GB    0/40/0/40
> node06   512GB   500GB   0/96/0/96
> node07   512GB   512GB   0/96/0/96
> node08   512GB   512GB   0/96/0/96
> node09   512GB   512GB   0/96/0/96

Specifying a field width and adding in your desired unit qualifier

   sinfo -o "%n %.3mGB %.3eGB %C"

would give something like

node01   190GB 125GB 60/4/0/64
node02   190GB 171GB 40/24/0/64
node05   93GB   91GB   0/40/0/40
node06   513GB 509GB 0/96/0/96
node07   513GB 512GB 0/96/0/96
node08   513GB 512GB 0/96/0/96
node09   513GB 512GB 0/96/0/96

which isn't exact, but at least maintains some of the differences between the RealMemory figure, which is statically defined in your Slurm config anyway, and the reported FreeMemory figure.

Other than that, piping the output into a script/program that does whatever scaling you want will give you eaxctly what you want, as you'll have full control over things.


The information in this email, including attachments, may be confidential and is intended solely for the addressee(s). If you believe you received this email by mistake, please notify the sender by return email as soon as possible.

More information about the slurm-users mailing list