Libumem

Libumem is a memory allocator userspace library used to manage memory allocation[1][2], and may be used to detect memory management bugs in applications. It is based on the Slab allocator concept. Libumem is available as a standard part of Solaris 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).[3]

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). [4] This slab allocator is designed for systems with many threads and many CPUs. Memory allocation with naive allocators can be a serious bottleneck.

gollark: Genius.
gollark: So I should put a license on it but never actually release it?
gollark: I would also have to actually use git (or fossil I guess) on it.
gollark: I guess? But people might foolishly expect my software to work and be slightly good if I release it.
gollark: I plan to work on full text search but this may require changing things around.

See also

Sources

  1. "Proceedings of the 2001 USENIX Annual Technical Conference" (PDF). The USENIX Association. 2001. Cite journal requires |journal= (help)
  2. "github / omniti-labs / portableumem". github.com. 27 Jun 2010. Retrieved 2020-08-04.
  3. "Memory Leak Detection with libumem". Archived from the original on 2013-10-23. Retrieved 2013-10-22.
  4. Adam Leventhal's Weblog
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.