From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 87550 invoked by alias); 24 Oct 2016 14:08:23 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 87495 invoked by uid 89); 24 Oct 2016 14:08:22 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.1 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,SPF_NEUTRAL autolearn=no version=3.3.2 spammy=choices, shrinking, Mention, sbrk X-HELO: homiemail-a45.g.dreamhost.com From: Siddhesh Poyarekar To: libc-alpha@sourceware.org Subject: [PATCH 1/2] Add note on MALLOC_MMAP_* environment variables Date: Mon, 24 Oct 2016 14:08:00 -0000 Message-Id: <1477318076-22231-2-git-send-email-siddhesh@sourceware.org> In-Reply-To: <1477318076-22231-1-git-send-email-siddhesh@sourceware.org> References: <1477318076-22231-1-git-send-email-siddhesh@sourceware.org> X-SW-Source: 2016-10/txt/msg00379.txt.bz2 The mallopt parameters manual does not mention the environment variables that can be used to set these parameters at program startup. Mention those environment variables for completeness. * manual/memory.texi: Add environment variable alternatives to setting mallopt parameters. --- manual/memory.texi | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/manual/memory.texi b/manual/memory.texi index 5383105..6f33455 100644 --- a/manual/memory.texi +++ b/manual/memory.texi @@ -1113,12 +1113,25 @@ choices for @var{param}, as defined in @file{malloc.h}, are: @item M_MMAP_MAX The maximum number of chunks to allocate with @code{mmap}. Setting this to zero disables all use of @code{mmap}. + +The default value of this parameter is @code{65536}. + +This parameter can also be set for the process at startup by setting the +environment variable @code{MALLOC_MMAP_MAX_} to the desired value. @item M_MMAP_THRESHOLD All chunks larger than this value are allocated outside the normal heap, using the @code{mmap} system call. This way it is guaranteed that the memory for these chunks can be returned to the system on @code{free}. Note that requests smaller than this threshold might still be allocated via @code{mmap}. + +If this parameter is not set, the default value is set as 128 KB and the +threshold is adjusted dynamically to suit the allocation patterns of the +program. If the parameter is set, the dynamic adjustment is disabled and the +value is set statically to the input value. + +This parameter can also be set for the process at startup by setting the +environment variable @code{MALLOC_MMAP_THRESHOLD_} to the desired value. @comment TODO: @item M_MXFAST @item M_PERTURB If non-zero, memory blocks are filled with values depending on some @@ -1128,16 +1141,34 @@ use of uninitialized or freed heap memory. Note that this option does not guarantee that the freed block will have any specific values. It only guarantees that the content the block had before it was freed will be overwritten. + +The default value of this parameter is @code{0}. + +This parameter can also be set for the process at startup by setting the +environment variable @code{MALLOC_MMAP_PERTURB_} to the desired value. @item M_TOP_PAD This parameter determines the amount of extra memory to obtain from the system when a call to @code{sbrk} is required. It also specifies the number of bytes to retain when shrinking the heap by calling @code{sbrk} with a negative argument. This provides the necessary hysteresis in heap size such that excessive amounts of system calls can be avoided. + +The default value of this parameter is @code{0}. + +This parameter can also be set for the process at startup by setting the +environment variable @code{MALLOC_TOP_PAD_} to the desired value. @item M_TRIM_THRESHOLD This is the minimum size (in bytes) of the top-most, releasable chunk that will cause @code{sbrk} to be called with a negative argument in order to return memory to the system. + +If this parameter is not set, the default value is set as 128 KB and the +threshold is adjusted dynamically to suit the allocation patterns of the +program. If the parameter is set, the dynamic adjustment is disabled and the +value is set statically to the provided input. + +This parameter can also be set for the process at startup by setting the +environment variable @code{MALLOC_TRIM_THRESHOLD_} to the desired value. @end table @end deftypefun -- 2.7.4