¿Cómo puedo controlar el uso de la memoria?

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?

Solución

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.

Comentarios (7)

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
Comentarios (1)

El comando watch puede ser útil. Pruebe watch -n 5 free para controlar el uso de la memoria con actualizaciones cada cinco segundos.

Comentarios (1)