Узнайте время процессора и использование памяти в работе slurm

Я предполагаю, что это довольно тривиальный вопрос, но, тем не менее, я ищу (я полагаю) команду, которая будет отображать время процессора и память, используемые идентификатором задания slurm.

Ответы

Ответ 1

Вы правы, что команда сактов - это то, что вы ищете. Переключатель --format - это другой ключевой элемент. Если вы запустите эту команду:

sacct -e

вы получите распечатку различных полей, которые могут быть использованы для --format-переключателя. Детали каждого поля описаны в разделе "Поля учетной записи" на странице руководства. Для процессорного времени и памяти, CPUTime и MaxRSS, вероятно, то, что вы ищете. cputimeraw также может использоваться, если вы хотите использовать это число в секундах, в отличие от обычного временного формата Slurm.

sacct --format="CPUTime,MaxRSS"

Ответ 2

sacct действительно является командой для использования для готовых заданий. Для выполнения заданий вы можете посмотреть команду sstat.

Ответ 3

@aaron.kizmiller прав, sacct - это команда для использования.

Можно получить все следующие поля, передав их в saact --format="field,field"

Поля:

Account           AdminComment      AllocCPUS         AllocGRES
AllocNodes        AllocTRES         AssocID           AveCPU
AveCPUFreq        AveDiskRead       AveDiskWrite      AvePages
AveRSS            AveVMSize         BlockID           Cluster
Comment           ConsumedEnergy    ConsumedEnergyRaw CPUTime
CPUTimeRAW        DerivedExitCode   Elapsed           ElapsedRaw
Eligible          End               ExitCode          GID
Group             JobID             JobIDRaw          JobName
Layout            MaxDiskRead       MaxDiskReadNode   MaxDiskReadTask
MaxDiskWrite      MaxDiskWriteNode  MaxDiskWriteTask  MaxPages
MaxPagesNode      MaxPagesTask      MaxRSS            MaxRSSNode
MaxRSSTask        MaxVMSize         MaxVMSizeNode     MaxVMSizeTask
McsLabel          MinCPU            MinCPUNode        MinCPUTask
NCPUS             NNodes            NodeList          NTasks
Priority          Partition         QOS               QOSRAW
ReqCPUFreq        ReqCPUFreqMin     ReqCPUFreqMax     ReqCPUFreqGov
ReqCPUS           ReqGRES           ReqMem            ReqNodes
ReqTRES           Reservation       ReservationId     Reserved
ResvCPU           ResvCPURAW        Start             State
Submit            Suspended         SystemCPU         Timelimit
TotalCPU          UID               User              UserCPU
WCKey             WCKeyID           WorkDir

Например, чтобы вывести список всех идентификаторов заданий, прошедшего времени и максимального размера виртуальной машины, вы можете запустить:

sacct --format='JobID,Elapsed,MaxVMSize'

Ответ 4

Другой отвечает на все форматы детализации для вывода sacct, который отлично подходит для просмотра нескольких заданий, объединенных в таблицу.

Однако иногда вы хотите рассмотреть конкретную работу более подробно, чтобы вы могли определить, эффективно ли ваша работа использовала выделенные ресурсы. Для этого seff очень полезен. Синтаксис просто seff <Jobid>. Например, вот моя недавняя работа (которая провалилась):

$ seff 15780625

Job ID: 15780625
Cluster: mycluster
User/Group: myuser/mygroup
State: OUT_OF_MEMORY (exit code 0)
Nodes: 1
Cores per node: 16
CPU Utilized: 12:06:01
CPU Efficiency: 85.35% of 14:10:40 core-walltime
Job Wall-clock time: 00:53:10
Memory Utilized: 1.41 GB
Memory Efficiency: 70.47% of 2.00 GB

Обратите внимание, что ключевая метрика ЦП, CPU Utilized, соответствует полю sacct из sacct, тогда как Memory Utilized соответствует MaxRSS.