Узнайте время процессора и использование памяти в работе 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.