Desafortunadamente, Linux no mantiene un registro del consumo pico de memoria general. Sí lo hace para un proceso pero no para la totalidad del sistema.
A falta de esto y como mero hack, el siguiente script se puede dejar corriendo durante un tiempo determinado:
#!/bin/bash free -m -s 0.05 | while read A _ V _; do [ "$A" = "-/+" ] && [ "$V" -gt "${M:-0}" ] && { M=$V; echo $M; } done
Ventajas:
- No necesita de la instalación de ningún programa externo.
- Es compatible con POSIX Shell.
Desventajas:
- Funciona por sondeo (polling) cada 0.05 segundos. Esto significa que si entre muestra y muestra hay un pico que desaparece, éste no se reflejará. Idealmente el kernel llevaría el registro de manera asíncrona durante cada llamada a brk() y sbrk().
- Podría no funcionar en locales con diferente separador decimal. Sería necesario cambiar
0.05
por0,05
. Tal vez se pudiera usar el parámetro$1
para evitar este problema.