Skip to content

Simple python script to quickly parse sacct results into max rss etc.

License

Notifications You must be signed in to change notification settings

rhpvorderman/sacct-analyze

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

sacct-analyze

The script calls sacct --json and parses it. It then outputs a tab-separated table with the requested cpu, memory and time and their actual usage. This helps to tune your request size and get better scheduling.

For example, when available cputime is much higher than actual cpu time, your job has not used all provided cores at 100% and could probably do with less.

Usage

usage: sacct-analyze.py [-h] [--name NAME]

optional arguments:
  -h, --help   show this help message and exit
  --name NAME  Should have these contents in the name

Example

python3 sacct-analyze.py > results.tsv

Example output

Name Requested CPU Available CPU time (hours) Used CPU time (hours) CPU Efficiency (%) Requested Memory (GiB) Used Memory (GiB) Memory efficiency (%) Requested Time (hours) Used Time (hours) Time Efficiency (%)
call-deepVariantTask-2 4 17.83 17.13 96.03% 48.00 8.03 16.73% 83.33 4.46 5.35%
call-deepVariantTask-6 4 17.30 16.45 95.09% 48.00 7.98 16.63% 83.33 4.33 5.19%
call-deepVariantTask-1 4 50.05 48.72 97.33% 48.00 9.30 19.38% 83.33 12.51 15.02%
call-deepVariantTask-3 4 50.53 49.26 97.49% 48.00 9.39 19.57% 83.33 12.63 15.16%
call-deepVariantTask-0 4 40.17 39.08 97.29% 48.00 8.04 16.74% 83.33 10.04 12.05%
call-deepVariantTask-4 4 35.69 34.60 96.94% 48.00 8.06 16.79% 83.33 8.92 10.71%

In this example all the four provided cores are kept busy during the job runtime. The amount of memory and time needed was much less than initially anticipated however.

About

Simple python script to quickly parse sacct results into max rss etc.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages