Libumem
   HOME

TheInfoList



OR:

libumem is a memory allocator userspace library used to manage memory allocation, and may be used to detect memory management bugs in applications. It is based on the
Slab allocator Slab allocation is a memory management mechanism intended for the efficient memory allocation of objects. In comparison with earlier mechanisms, it reduces fragmentation caused by allocations and deallocations. This technique is used for retai ...
concept. Libumem is available as a standard part of
Solaris Solaris may refer to: Arts and entertainment Literature, television and film * ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem ** ''Solaris'' (1968 film), directed by Boris Nirenburg ** ''Solaris'' (1972 film), directed by ...
from Solaris 9 Update 3 onwards.


Functions

Functions in this library provide fast, scalable object-caching memory allocation with multithreaded application support. In addition to the standard malloc(3C) family of functions and the more flexible umem_alloc(3MALLOC) family, libumem provides powerful object-caching services as described in umem_cache_create(3MALLOC). Getting started with libumem is easy; just set LD_PRELOAD to "libumem.so" and any program executed will use libumem's malloc(3C) and free(3C) (or new and delete). Adam Leventhal's Weblog
/ref> This slab allocator is designed for systems with many threads and many CPUs. Memory allocation with naive allocators can be a serious bottleneck.


See also

* Valgrind


Sources


Portable Umem: An opensource effort to port libumem to other UNIX-like systems
{{Solaris OpenSolaris Solaris software