GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo perfilar el uso de la memoria?

Use macizo, que es parte de las herramientas Valgrind. massif-visualizer puede ayudarlo a graficar los datos o simplemente puede usar el ms_print comando.


Pruebe el generador de perfiles de almacenamiento dinámico proporcionado con gperftools, por Google. Siempre lo he creado a partir de las fuentes, pero está disponible como un paquete precompilado en varias distribuciones de Linux.

Es tan simple de usar como vincular una biblioteca dinámica a sus ejecutables y ejecutar el programa. Recopila información sobre cada asignación de memoria dinámica (hasta donde he visto) y guarda en el disco un volcado de memoria cada vez que ocurra uno de los siguientes:

  • HEAP_PROFILE_ALLOCATION_INTERVAL el programa ha asignado bytes (predeterminado:1 Gb)
  • la marca de uso de memoria de agua alta aumenta en HEAP_PROFILE_INUSE_INTERVAL bytes (predeterminado:100 Mb)
  • HEAP_PROFILE_TIME_INTERVAL han transcurrido segundos (predeterminado:inactivo)
  • Usted llama explícitamente a HeapProfilerDump() de tu código

El último, según mi experiencia, es el más útil porque puede controlar exactamente cuándo tener una instantánea del uso del almacenamiento dinámico y luego compare dos instantáneas diferentes y vea qué está mal.

Eventualmente, existen varios formatos de salida posibles, como textual o gráfico (en forma de gráfico dirigido):

Con esta herramienta, he podido detectar usos de memoria incorrectos que no pude encontrar con Massif.


Linux
  1. Uso de memoria de Linux

  2. Cómo verificar el uso de memoria en un servidor basado en Linux

  3. ¿Cómo ver los principales procesos ordenados por el uso real de la memoria?

  4. Cómo encontrar el uso de la memoria del usuario en Linux

  5. ¿Cómo limitar el uso de la memoria de la aplicación?

Cómo verificar el uso de memoria en Debian 10

Cómo encontrar los 10 principales procesos en ejecución por memoria y uso de CPU

Cómo encontrar los principales procesos en ejecución por uso de memoria

¿Cómo interpretar el uso de memoria superior/htop?

Cómo ordenar el comando superior según el uso de memoria

Uso de memoria de comandos TOP