Monitoreo

De NLHPC

¿Como listo las tareas?

Ejecuto el comando squeue para conocer por ejemplo el estado, tiempo de ejecución e identificador de los trabajos SLURM

[usuario@leftraru1 ~]$ squeue -o "%.15i %.6P %.8j %.20S %.11M %.11L %.20V %.2t %.10q %.4C %.2D %.7W %N " -S -t,-Q

JOBID    PARTIT   NAME    START_TIME           TIME       TIME_LEFT  SUBMIT_TIME         ST  QOS CPUS NO LICENSE NODELIST 
12863561  slims   test04  2018-07-08T13:57:53  1-20:25:20 1-03:34:40 2018-07-08T13:57:26  R  120  5   1  (null)  cn000 
12864082  slims   test02  2018-07-09T10:44:15    23:38:58 2-00:21:02 2018-07-09T10:43:51  R  120  10  1  (null)  cn001 
12865333  slims   test01  2018-07-10T17:16:38        0:00 3-00:00:00 2018-07-10T09:30:22  PD 120  10  1  (null)  
12865334  slims   test06  2018-07-10T17:49:42        0:00 3-00:00:00 2018-07-10T09:38:13  PD 120  10  1  (null)  
12865335  slims   test09  2018-07-11T07:42:16        0:00 3-00:00:00 2018-07-10T09:28:05  PD 120  20  1  (null)

¿Como monitoreo los recursos utilizados por mi tarea?

Conectándose al nodo

Siempre y cuando tengamos tareas corriendo en un nodo, podemos entrar en este vía SSH.

* uptime

Para conocer la carga del nodo, cuantos procesos por core existen actualmente.

[usuario@leftraru1 ~]# ssh cn109
usuario@cn000 s password:
[usuario@cn000 ~]# uptime
10:40:59 up 27 days, 16:46,  1 user,  load average: 17.04, 13.76, 13.09

* User Stats

Este script permite revisar:

La memoria por core (en kb)
[usuario@cn000 ~]$ /home/apps/nlhpc/bin/user_stats.sh mem
00 371695616
01 373268480
02 367038464
03 363290624
04 367382528
Cantidad de procesos por core
[usuario@cn000 ~]$ /home/apps/nlhpc/bin/user_stats.sh load
00 1
01 2
02 1
03 1
04 1

* htop

Es un visor de procesos en linux, basado en ncurses.

[usuario@cn109 ~]# htop
htop


.

A través de Ganglia

Ganglia es un sistema de monitoreo distribuido para sistemas HPC, por cada uno de los nodos de cómputo de las diferentes particiones están disponibles los gráficos de memoria, carga, porcentaje de cpu usada, tráfico, etc.

A través de Dashboard

Panel de visualización del estado de los nodos. Muestra una vista rápida del estado de los nodos (de login y de cómputo) y uso general del cluster, ademas de encontrar el listado de tareas en ejecución, pendientes, históricos.

En el correo de notificación

Al terminar una tarea se adjuntan las siguientes gráficas:

Porcentaje de uso por core

Memoria utilizada por core

300px-Correo MEMxCPU.png

Archivo report.log

job_id=12668XXX user=usuario mail=None start_time=2018-07-09T06:51:34 running_time=3:53:28 cores_total=10 nodes_raw=cn094 alarm_cpu=True alarm_memory=False watch|avg|std|ptotal=10800|30|20|50 ptcw=70 command=/home/usuario/tarea.sh nodes={'cn094': {'mem': '10000', 'cpu': [0, 2, 3, 4, 5, 6, 7, 8, 9, 10]}} alarm_count=1 last_time=1531147611 iter=2 job_cancel=None modules=[] n=cn094

 mem max:3586 resv:10000
 cpu=10 avg=91.00 std=45.77 / all avg=0.00 std=0.00
 cpu= 0 avg=98.19 std=44.53 / all avg=0.00 std=0.00
  • cpu= 3 avg=0.56 std=0.50 / all avg=0.47 std=0.50
  • cpu= 2 avg=0.86 std=0.35 / all avg=0.66 std=0.47
  • cpu= 5 avg=0.64 std=0.48 / all avg=0.49 std=0.50
  • cpu= 4 avg=0.53 std=0.50 / all avg=0.40 std=0.49
 cpu= 7 avg=82.11 std=48.93 / all avg=0.00 std=0.00
  • cpu= 6 avg=0.56 std=0.50 / all avg=0.45 std=0.50
  • cpu= 9 avg=0.47 std=0.50 / all avg=0.36 std=0.48
  • cpu= 8 avg=0.72 std=0.45 / all avg=0.79 std=0.41

En mem max:3586 resv:10000 se destaca que el máximo de memoria utilizada por la tarea ha sido de 3568M Por cada una de los cores se despliega: el uso promedio de cada core, la desviación estándar en las últimas 3 horas / del total de tiempo de ejecución.