Libumem es una biblioteca de espacio de usuario de asignación de memoria utilizada para administrar la asignación de memoria, [1] [2] y puede usarse para detectar errores de administración de memoria en aplicaciones. Se basa en el concepto de repartidor de losas . Libumem está disponible como parte estándar de Solaris desde Solaris 9 Update 3 en adelante.
Funciones
Las funciones de esta biblioteca proporcionan una asignación de memoria de almacenamiento en caché de objetos rápida y escalable con compatibilidad con aplicaciones multiproceso . Además de la familia de funciones estándar malloc (3C) y la familia más flexible umem_alloc (3MALLOC), libumem proporciona poderosos servicios de almacenamiento en caché de objetos como se describe en umem_cache_create (3MALLOC). [3]
Comenzar con libumem es fácil; simplemente configure LD_PRELOAD en "libumem.so" y cualquier programa ejecutado usará malloc (3C) y free (3C) de libumem (o nuevo y eliminar). [4] Este asignador de bloques está diseñado para sistemas con muchos subprocesos y muchas CPU. La asignación de memoria con asignadores ingenuos puede ser un cuello de botella serio.
Ver también
Fuentes
- ^ "Actas de la Conferencia técnica anual de USENIX de 2001" (PDF) . La Asociación USENIX. 2001. Cite journal requiere
|journal=
( ayuda ) - ^ "github / omniti-labs / portableumem" . github.com. 27 de junio de 2010 . Consultado el 4 de agosto de 2020 .
- ^ "Detección de fugas de memoria con libumem" . Archivado desde el original el 23 de octubre de 2013 . Consultado el 22 de octubre de 2013 .
- ^ Weblog de Adam Leventhal