Libumem
|
|
This article has multiple issues. Please help improve it or discuss these issues on the talk page.
|
[edit] Summary
Libumem is a library used to detect memory management bugs in applications. It is based on the Slab allocator concept. Libumem is available as a standard part of the Solaris Operating System from Solaris 9 Update 3 onwards.
[edit] 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). This slab allocator is designed for systems with many threads and many CPUs. Memory allocation with naive allocators can be a serious bottleneck. There are other highly scalable allocators out there, but libumem is about the same or better in terms of performance, has compelling debugging features, and it's free and fully supported by Sun. Recent stress tests have proved that using libumem has produced a 50 to 70% improvement.[citation needed] Comment made by Raymond Russell from Sun Microsystems
[edit] References
- A Comparison of Memory Allocators in Multiprocessors - http://developers.sun.com/solaris/articles/multiproc/multiproc.html
- Identifying Memory Management Bugs Within Applications Using the libumem Library - http://developers.sun.com/solaris/articles/libumem_library.html
- Portable Umem: An opensource effort to port libumem to other UNIX-like systems - https://labs.omniti.com/labs/portableumem
| This computer library article is a stub. You can help Wikipedia by expanding it. |