mi-malloc: Runtime Options
Runtime options.
Print error messages.
mi_option_show_statsPrint statistics on termination.
mi_option_verbosePrint verbose messages.
mi_option_max_errorsissue at most N error messages
mi_option_max_warningsissue at most N warning messages
mi_option_reserve_huge_os_pagesreserve N huge OS pages (1GiB pages) at startup
mi_option_reserve_huge_os_pages_atReserve N huge OS pages at a specific NUMA node N.
mi_option_reserve_os_memoryreserve specified amount of OS memory in an arena at startup (internally, this value is in KiB; use mi_option_get_size())
mi_option_allow_large_os_pagesallow large (2 or 4 MiB) OS pages, implies eager commit.
mi_option_purge_decommitsshould a memory purge decommit? (=1). Set to 0 to use memory reset on a purge (instead of decommit)
mi_option_arena_reserveinitial memory size for arena reservation (= 1 GiB on 64-bit) (internally, this value is in KiB; use mi_option_get_size())
mi_option_os_tagtag used for OS logging (macOS only for now) (=100)
mi_option_retry_on_oomretry on out-of-memory for N milli seconds (=400), set to 0 to disable retries. (only on windows)
mi_option_generic_collectcollect heaps every N (=10000) generic allocation calls
mi_option_allow_thpallow transparent huge pages? (=1) (on Android =0 by default). Set to 0 to disable THP for the process.
mi_option_guarded_minonly used when building with MI_GUARDED: minimal rounded object size for guarded objects (=0)
mi_option_guarded_maxonly used when building with MI_GUARDED: maximal rounded object size for guarded objects (=0)
mi_option_guarded_precisedisregard minimal alignment requirement to always place guarded blocks exactly in front of a guard page (=0)
mi_option_guarded_sample_rate1 out of N allocations in the min/max range will be guarded (=1000)
mi_option_guarded_sample_seedcan be set to allow for a (more) deterministic re-execution when a guard page is triggered (=0)
mi_option_eager_commitv1,v2: eager commit segments? (after eager_commit_delay segments) (enabled by default).
v2: the first N segments per thread are not eagerly committed (but per page in the segment on demand)
mi_option_arena_eager_commiteager commit arenas? Use 2 to enable just on overcommit systems (=2)
mi_option_abandoned_page_purgev1,v2: immediately purge delayed purges on thread termination
mi_option_purge_delaymemory purging is delayed by N milli seconds; use 0 for immediate purging or -1 for no purging at all. (=10)
mi_option_use_numa_nodes0 = use all available numa nodes, otherwise use at most N nodes.
mi_option_disallow_os_alloc1 = do not use OS memory for allocation (but only programmatically reserved arenas)
v2: max. percentage of the abandoned segments can be reclaimed per try (=10%)
mi_option_destroy_on_exitif set, release all memory on exit; sometimes used for dynamic unloading but can be unsafe
mi_option_arena_purge_multmultiplier for purge_delay for the purging delay for arenas (=10)
v1,v2: allow to reclaim an abandoned segment on a free (=1)
mi_option_purge_extend_delayv1,v2: extend purge delay on each subsequent delay (=1)
mi_option_disallow_arena_alloc1 = do not use arena's for allocation (except if using specific arena id's)
mi_option_visit_abandonedallow visiting heap blocks from abandoned threads (=0)
mi_option_target_segments_per_threadv1,v2: experimental (=0)
mi_option_page_reclaim_on_freev3: reclaim abandoned pages on a free (=0). -1 disallowr always, 0 allows if the page originated from the current theap, 1 allow always
mi_option_page_full_retainv3: retain N full (small) pages per size class (=2). Use -1 for infinite (as in v1,v2).
mi_option_page_max_candidatesv3: max candidate pages to consider for allocation (=4)
mi_option_max_vabitsv3: max user space virtual address bits to consider (=48)
mi_option_pagemap_commitv3: commit the full pagemap (to always catch invalid pointer uses) (=0)
mi_option_page_commit_on_demandv3: commit page memory on-demand (=0)
mi_option_page_max_reclaimv3: don't reclaim pages of the same originating theap if we already own N pages (in that size class) (=-1 (unlimited))
mi_option_page_cross_thread_max_reclaimv3: don't reclaim pages across threads if we already own N pages (in that size class) (=16)
mi_option_minimal_purge_sizev3: set minimal purge size (in KiB) (=0). By default set to either 64 or 2048 if THP is enabled. (internal value is in KiB so use mi_option_get_size())
mi_option_arena_max_object_sizev3: set maximal object size that can be allocated in an arena (in KiB) (=2GiB on 64-bit).
_mi_option_last