Contact Us Contact Us

HP-UX User Space Memory Allocator

  Software Depot
Electronic download
Frequently asked questions
Product details and specifications

A new implementation of the user space memory allocator is provided.


Features and Benefits:

The mallocng allocator uses a more efficient method to allocate small blocks and is designed to scale well with threads. Using this allocator may provide the following benefits to applications:


  • Less space utilization for applications that use many small blocks
  • Better performance for applications using small blocks
  • Better multi-threaded performance
  • Releasing large blocks to system under environment variable _MALLOCNG_LBC_OPTS
  • Better memory management for certain multi-threaded applications under environment variable _MALLOCNG_GLOBAL_OPTS



The environment variables _MALLOCNG_LBC_OPTS and _MALLOCNG_GLOBAL_OPTS are available only on HP-UX 11iv3. For more information and usage of the environment variables, please refer mallocng(3X) man page.

How to use:

Applications using the malloc(3C) family of APIs will have to link to a new library This will cause the new allocator to be invoked. No code changes in the application are necessary. Users are urged to read the mallocng(3X) man page before proceeding. The mallocng allocator is available on Itanium®-based systems only.



The new allocator is generally expected to improve the performance of applications. However, there may be some applications for which performance may degrade. Hence users are advised to benchmark their applications with the default memory allocator in libc and with the allocator in libmallocng before using the new allocator in a production environment.



A man page titled mallocng(3X) is shipped with the product.


What’s new in MallocNexGen B.11.31.1603.01 release:


This release contains fixes for the following issues:




Customer Symptoms Notes:

Multi-threaded applications which are using the new feature of MallocNextGen, by setting "_MALLOCNG_GLOBAL_OPTS" environment variable, may experience unexpected crashes due to improper initialization of locks in the new code.


Customer Resolution Notes:

The lock initialization code is fixed for this new feature of MallocNextGen.




Customer Symptoms Notes:

mallocng(3C) man page did not properly document return value of mallopt() function for different command arguments. Also, the return value for few command arguments was not correct.


Customer Resolution Notes:

Fixed the mallocng(3C) mallopt() code to return correct values and also documented about return values in the manpage.

Additional product information
Product #: MallocNextGen
Version: B.11.23.0904, B.11.31.1603.01
Software specification: HP-UX 11.23 IA (MallocNextGen_B.11.23.0904_HP-UX_B.11.23_IA.depot)
HP-UX 11.31 IA (MallocNextGen_B.11.31.1603.01_HP-UX_B.11.31_IA.depot)