Get CPU and memory metrics for a SLURM job
script_metrics.RdRetrieves current resource usage statistics from SLURM commands including CPU utilization, memory consumption, and job status.
Details
This function queries SLURM's accounting system to retrieve job metrics:
Data Sources:
Uses
sacctfor historical/completed job metricsUses
sstatfor live metrics of running jobsFalls back to
squeuewhen accounting is unavailable
Metrics Returned:
cpu_pct: CPU utilization percentageave_rss,max_rss: Average/maximum resident set size (bytes)ncpus/alloc_cpus: Number of allocated CPUselapsed: Elapsed time in secondsnode: Node list where job is runningstate: Current job state (RUNNING, COMPLETED, FAILED, etc.)
Prerequisites:
SLURM commands (
sacct,sstat,squeue) must be available in PATHSLURM accounting must be enabled for detailed metrics
Failure Behavior:
Returns NA for unavailable metrics (never errors)
Warns once if SLURM commands are missing
Degrades gracefully when accounting is disabled
Examples
# \donttest{
if (Sys.which("squeue") != "") {
job <- submit_slurm("script.R")
metrics <- script_metrics(job)
# Returns list with: cpu_pct, ave_rss, max_rss, elapsed, state, etc.
}
# }