He utilizado top
para ver el uso de la memoria en este momento. Pero me gustaría monitorear el uso de la memoria durante un período de tiempo. Por ejemplo, iniciar el monitoreo y luego ejecutar algunos comandos, y al final detener el monitoreo y ver cuánta memoria se ha utilizado durante el período.
¿Cómo puedo hacer esto en Ubuntu Server?
Supongo que podría iniciar un cronjob cada 5 segundos más o menos, e invocar un comando que registre el uso actual de la memoria en un archivo de texto. ¿Pero qué comando debería usar para obtener el uso actual de la memoria en un formato que sea fácil de registrar en un archivo de texto?
Recomiendo combinar las respuestas anteriores
watch -n 5 free -m
Tenga en cuenta que a Linux le gusta usar cualquier memoria extra para cachear bloques de disco duro. Así que no quieres mirar sólo la Mem
libre. Quiere mirar la columna free
de la fila -/+ buffers/cache:
. Esto muestra cuánta memoria está disponible para las aplicaciones. Así que ejecuté free -m
y obtuve esto:
total used free shared buffers cached
Mem: 3699 2896 802 0 247 1120
-/+ buffers/cache: 1528 2170
Swap: 1905 62 1843
Sé que estoy usando 1528 MB y tengo 2170 MB libres.
Nota: Para detener este ciclo de watch
puede simplemente presionar Ctrl+C.
Utilice el comando free.
Por ejemplo, este es el resultado de free -m
:
total used free shared buffers cached
Mem: 2012 1666 345 0 101 616
-/+ buffers/cache: 947 1064
Swap: 7624 0 7624
free -m | grep /+
devolverá sólo la segunda línea:
-/+ buffers/cache: 947 1064