Tunables are a feature in the GNU C Library that allows application authors and
distribution maintainers to alter the runtime library behavior to match
their workload. These are implemented as a set of switches that may be
modified in different ways. The current default method to do this is via
GLIBC_TUNABLES environment variable by setting it to a string
of colon-separated name=value pairs. For example, the following
example enables malloc checking and sets the malloc trim threshold to 128
GLIBC_TUNABLES=glibc.malloc.trim_threshold=128:glibc.malloc.check=3 export GLIBC_TUNABLES
Tunables are not part of the GNU C Library stable ABI, and they are subject to change or removal across releases. Additionally, the method to modify tunable values may change between releases and across distributions. It is possible to implement multiple ‘frontends’ for the tunables allowing distributions to choose their preferred method at build time.
Finally, the set of tunables available may vary between distributions as the tunables feature allows distributions to add their own tunables under their own namespace.
|• Tunable names||The structure of a tunable name|
|• Memory Allocation Tunables||Tunables in the memory allocation subsystem|
|• Dynamic Linking Tunables||Tunables in the dynamic linking subsystem|
|• Elision Tunables||Tunables in elision subsystem|
|• POSIX Thread Tunables||Tunables in the POSIX thread subsystem|
|• Hardware Capability Tunables||Tunables that modify the hardware capabilities seen by the GNU C Library|