Articulo de referencia

Libumem

libumem es una biblioteca de espacio de usuario para la asignación de memoria, utilizada para gestionar la asignación de memoria [ 1 ] [ 2 ] y que puede emplearse para detectar ...

libumem es una biblioteca de espacio de usuario para la asignación de memoria, utilizada para gestionar la asignación de memoria [ 1 ] [ 2 ] y que puede emplearse para detectar errores de gestión de memoria en las aplicaciones. Se basa en el concepto de asignador de bloques (Slab) . libumem está disponible como parte estándar de Solaris a partir de Solaris 9 Update 3.

Funciones

Las funciones de esta biblioteca proporcionan una asignación de memoria de caché de objetos rápida y escalable con soporte para aplicaciones multihilo . Además de la familia de funciones estándar malloc(3C) y la familia más flexible umem_alloc(3MALLOC), libumem proporciona potentes servicios de caché de objetos, como se describe en umem_cache_create(3MALLOC). [ 3 ]

Empezar a usar libumem es fácil; basta con establecer LD_PRELOAD en "libumem.so" y cualquier programa ejecutado utilizará malloc(3C) y free(3C) de libumem (o new y delete). [ 4 ] Este asignador de memoria está diseñado para sistemas con muchos hilos y muchas CPU. La asignación de memoria con asignadores ingenuos puede ser un cuello de botella importante.

Véase también

Fuentes

  1. "Actas de la Conferencia Técnica Anual de USENIX de 2001" (PDF) . La Asociación USENIX. 2001.
  2. "github / omniti-labs / portableumem" . github.com. 27 de junio de 2010 . Consultado el 4 de agosto de 2020 .
  3. "Detección de fugas de memoria con libumem" . Archivado del original el 23/10/2013 . Consultado el 22/10/2013 .
  4. "Blog de Adam Leventhal" . Archivado del original el 25 de marzo de 2017.
  • Umem portátil: Un proyecto de código abierto para portar libumem a otros sistemas tipo UNIX.