mimalloc/docs/group__options.html
2024-06-04 14:37:16 -07:00

465 lines
32 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.11.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mi-malloc: Runtime Options</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="mimalloc-doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="mimalloc-logo.svg"/></td>
<td id="projectalign">
<div id="projectname">mi-malloc<span id="projectnumber">&#160;1.8/2.1</span>
</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.11.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('group__options.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">Runtime Options</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gafebf7ed116adb38ae5218bc3ce06884c" id="r_gafebf7ed116adb38ae5218bc3ce06884c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> { <br />
&#160;&#160;<a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884cafbf4822e5c00732c5984b32a032837f0">mi_option_show_errors</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884ca0957ef73b2550764b4840edf48422fda">mi_option_show_stats</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884ca7c8b7bf5281c581bad64f5daa6442777">mi_option_verbose</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884caec6ecbe29d46a48205ed8823a8a52a6a">mi_option_max_errors</a>
, <br />
&#160;&#160;<a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884caf9595921087e942602ee079158762665">mi_option_max_warnings</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884caca7ed041be3b0b9d0b82432c7bf41af2">mi_option_reserve_huge_os_pages</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884caa13e7926d4339d2aa6fbf61d4473fd5c">mi_option_reserve_huge_os_pages_at</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884cafbf4999c828cf79a0fb2de65d23f7333">mi_option_reserve_os_memory</a>
, <br />
&#160;&#160;<a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884ca7cc4804ced69004fa42a9a136a9ba556">mi_option_allow_large_os_pages</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884ca9d15c5e3d2115eef681c17e4dd5ab9a4">mi_option_purge_decommits</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884cab1c88e23ae290bbeec824038a97959de">mi_option_arena_reserve</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884ca4b74ae2a69e445de6c2361b73c1d14bf">mi_option_os_tag</a>
, <br />
&#160;&#160;<a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884ca8f51df355bf6651db899e6085b54865e">mi_option_retry_on_oom</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884ca1e8de72c93da7ff22d91e1e27b52ac2b">mi_option_eager_commit</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884ca17a190c25be381142d87e0468c4c068c">mi_option_eager_commit_delay</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884cafd0c5ddbc4b59fd8b5216871728167a5">mi_option_arena_eager_commit</a>
, <br />
&#160;&#160;<a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884ca11e62ed69200a489a5be955582078c0c">mi_option_abandoned_page_purge</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884cadd351e615acd8563529c20a347be7290">mi_option_purge_delay</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884ca0ac33a18f6b659fcfaf44efb0bab1b74">mi_option_use_numa_nodes</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884cadcfb5a09580361b1be65901d2d812de6">mi_option_disallow_os_alloc</a>
, <br />
&#160;&#160;<a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884ca9fa61bd9668479f8452d2195759444cc">mi_option_limit_os_alloc</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884caa9ad9005d7017c8c30ad2d6ba31db909">mi_option_max_segment_reclaim</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884ca6364331e305e7d3c0218b058ff3afc88">mi_option_destroy_on_exit</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884ca8236501f1ab45d26e6fd885d191a2b5e">mi_option_arena_purge_mult</a>
, <br />
&#160;&#160;<a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884ca009e4b5684922ce664d73d2a8e1698d9">mi_option_abandoned_reclaim_on_free</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884ca02005f164bdf03f5f00c5be726adf487">mi_option_purge_extend_delay</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884caeae1696100e4057ffc4182730cc04e40">mi_option_disallow_arena_alloc</a>
, <a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884ca38c67733a3956a1f4eeaca89fab9e78e">mi_option_visit_abandoned</a>
, <br />
&#160;&#160;<a class="el" href="#ggafebf7ed116adb38ae5218bc3ce06884ca5b4357b74be0d87568036c32eb1a2e4a">_mi_option_last</a>
<br />
}</td></tr>
<tr class="memdesc:gafebf7ed116adb38ae5218bc3ce06884c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Runtime options. <a href="#gafebf7ed116adb38ae5218bc3ce06884c">More...</a><br /></td></tr>
<tr class="separator:gafebf7ed116adb38ae5218bc3ce06884c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga459ad98f18b3fc9275474807fe0ca188" id="r_ga459ad98f18b3fc9275474807fe0ca188"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga459ad98f18b3fc9275474807fe0ca188">mi_option_is_enabled</a> (<a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option)</td></tr>
<tr class="separator:ga459ad98f18b3fc9275474807fe0ca188"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04180ae41b0d601421dd62ced40ca050" id="r_ga04180ae41b0d601421dd62ced40ca050"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga04180ae41b0d601421dd62ced40ca050">mi_option_enable</a> (<a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option)</td></tr>
<tr class="separator:ga04180ae41b0d601421dd62ced40ca050"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaebf6ff707a2e688ebb1a2296ca564054" id="r_gaebf6ff707a2e688ebb1a2296ca564054"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaebf6ff707a2e688ebb1a2296ca564054">mi_option_disable</a> (<a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option)</td></tr>
<tr class="separator:gaebf6ff707a2e688ebb1a2296ca564054"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a13d05fcb77489cb06d4d017ebd8bed" id="r_ga9a13d05fcb77489cb06d4d017ebd8bed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga9a13d05fcb77489cb06d4d017ebd8bed">mi_option_set_enabled</a> (<a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option, bool enable)</td></tr>
<tr class="separator:ga9a13d05fcb77489cb06d4d017ebd8bed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga65518b69ec5d32336b50e07f74b3f629" id="r_ga65518b69ec5d32336b50e07f74b3f629"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga65518b69ec5d32336b50e07f74b3f629">mi_option_set_enabled_default</a> (<a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option, bool enable)</td></tr>
<tr class="separator:ga65518b69ec5d32336b50e07f74b3f629"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e8af195cc81d3fa64ccf2662caa565a" id="r_ga7e8af195cc81d3fa64ccf2662caa565a"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga7e8af195cc81d3fa64ccf2662caa565a">mi_option_get</a> (<a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option)</td></tr>
<tr class="separator:ga7e8af195cc81d3fa64ccf2662caa565a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96ad9c406338bd314cfe878cfc9bf723" id="r_ga96ad9c406338bd314cfe878cfc9bf723"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga96ad9c406338bd314cfe878cfc9bf723">mi_option_get_clamp</a> (<a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option, long min, long max)</td></tr>
<tr class="separator:ga96ad9c406338bd314cfe878cfc9bf723"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga274db5a6ac87cc24ef0b23e7006ed02c" id="r_ga274db5a6ac87cc24ef0b23e7006ed02c"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga274db5a6ac87cc24ef0b23e7006ed02c">mi_option_get_size</a> (<a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option)</td></tr>
<tr class="separator:ga274db5a6ac87cc24ef0b23e7006ed02c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf84921c32375e25754dc2ee6a911fa60" id="r_gaf84921c32375e25754dc2ee6a911fa60"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaf84921c32375e25754dc2ee6a911fa60">mi_option_set</a> (<a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option, long value)</td></tr>
<tr class="separator:gaf84921c32375e25754dc2ee6a911fa60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ef623e440e6e5545cb08c94e71e4b90" id="r_ga7ef623e440e6e5545cb08c94e71e4b90"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga7ef623e440e6e5545cb08c94e71e4b90">mi_option_set_default</a> (<a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a> option, long value)</td></tr>
<tr class="separator:ga7ef623e440e6e5545cb08c94e71e4b90"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Set runtime behavior. </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="gafebf7ed116adb38ae5218bc3ce06884c" name="gafebf7ed116adb38ae5218bc3ce06884c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafebf7ed116adb38ae5218bc3ce06884c">&#9670;&#160;</a></span>mi_option_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Runtime options. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884cafbf4822e5c00732c5984b32a032837f0" name="ggafebf7ed116adb38ae5218bc3ce06884cafbf4822e5c00732c5984b32a032837f0"></a>mi_option_show_errors&#160;</td><td class="fielddoc"><p>Print error messages. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca0957ef73b2550764b4840edf48422fda" name="ggafebf7ed116adb38ae5218bc3ce06884ca0957ef73b2550764b4840edf48422fda"></a>mi_option_show_stats&#160;</td><td class="fielddoc"><p>Print statistics on termination. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca7c8b7bf5281c581bad64f5daa6442777" name="ggafebf7ed116adb38ae5218bc3ce06884ca7c8b7bf5281c581bad64f5daa6442777"></a>mi_option_verbose&#160;</td><td class="fielddoc"><p>Print verbose messages. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884caec6ecbe29d46a48205ed8823a8a52a6a" name="ggafebf7ed116adb38ae5218bc3ce06884caec6ecbe29d46a48205ed8823a8a52a6a"></a>mi_option_max_errors&#160;</td><td class="fielddoc"><p>issue at most N error messages </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884caf9595921087e942602ee079158762665" name="ggafebf7ed116adb38ae5218bc3ce06884caf9595921087e942602ee079158762665"></a>mi_option_max_warnings&#160;</td><td class="fielddoc"><p>issue at most N warning messages </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884caca7ed041be3b0b9d0b82432c7bf41af2" name="ggafebf7ed116adb38ae5218bc3ce06884caca7ed041be3b0b9d0b82432c7bf41af2"></a>mi_option_reserve_huge_os_pages&#160;</td><td class="fielddoc"><p>reserve N huge OS pages (1GiB pages) at startup </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884caa13e7926d4339d2aa6fbf61d4473fd5c" name="ggafebf7ed116adb38ae5218bc3ce06884caa13e7926d4339d2aa6fbf61d4473fd5c"></a>mi_option_reserve_huge_os_pages_at&#160;</td><td class="fielddoc"><p>Reserve N huge OS pages at a specific NUMA node N. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884cafbf4999c828cf79a0fb2de65d23f7333" name="ggafebf7ed116adb38ae5218bc3ce06884cafbf4999c828cf79a0fb2de65d23f7333"></a>mi_option_reserve_os_memory&#160;</td><td class="fielddoc"><p>reserve specified amount of OS memory in an arena at startup (internally, this value is in KiB; use <code>mi_option_get_size</code>) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca7cc4804ced69004fa42a9a136a9ba556" name="ggafebf7ed116adb38ae5218bc3ce06884ca7cc4804ced69004fa42a9a136a9ba556"></a>mi_option_allow_large_os_pages&#160;</td><td class="fielddoc"><p>allow large (2 or 4 MiB) OS pages, implies eager commit. If false, also disables THP for the process. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca9d15c5e3d2115eef681c17e4dd5ab9a4" name="ggafebf7ed116adb38ae5218bc3ce06884ca9d15c5e3d2115eef681c17e4dd5ab9a4"></a>mi_option_purge_decommits&#160;</td><td class="fielddoc"><p>should a memory purge decommit? (=1). Set to 0 to use memory reset on a purge (instead of decommit) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884cab1c88e23ae290bbeec824038a97959de" name="ggafebf7ed116adb38ae5218bc3ce06884cab1c88e23ae290bbeec824038a97959de"></a>mi_option_arena_reserve&#160;</td><td class="fielddoc"><p>initial memory size for arena reservation (= 1 GiB on 64-bit) (internally, this value is in KiB; use <code>mi_option_get_size</code>) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca4b74ae2a69e445de6c2361b73c1d14bf" name="ggafebf7ed116adb38ae5218bc3ce06884ca4b74ae2a69e445de6c2361b73c1d14bf"></a>mi_option_os_tag&#160;</td><td class="fielddoc"><p>tag used for OS logging (macOS only for now) (=100) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca8f51df355bf6651db899e6085b54865e" name="ggafebf7ed116adb38ae5218bc3ce06884ca8f51df355bf6651db899e6085b54865e"></a>mi_option_retry_on_oom&#160;</td><td class="fielddoc"><p>retry on out-of-memory for N milli seconds (=400), set to 0 to disable retries. (only on windows) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca1e8de72c93da7ff22d91e1e27b52ac2b" name="ggafebf7ed116adb38ae5218bc3ce06884ca1e8de72c93da7ff22d91e1e27b52ac2b"></a>mi_option_eager_commit&#160;</td><td class="fielddoc"><p>eager commit segments? (after <code>eager_commit_delay</code> segments) (enabled by default). </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca17a190c25be381142d87e0468c4c068c" name="ggafebf7ed116adb38ae5218bc3ce06884ca17a190c25be381142d87e0468c4c068c"></a>mi_option_eager_commit_delay&#160;</td><td class="fielddoc"><p>the first N segments per thread are not eagerly committed (but per page in the segment on demand) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884cafd0c5ddbc4b59fd8b5216871728167a5" name="ggafebf7ed116adb38ae5218bc3ce06884cafd0c5ddbc4b59fd8b5216871728167a5"></a>mi_option_arena_eager_commit&#160;</td><td class="fielddoc"><p>eager commit arenas? Use 2 to enable just on overcommit systems (=2) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca11e62ed69200a489a5be955582078c0c" name="ggafebf7ed116adb38ae5218bc3ce06884ca11e62ed69200a489a5be955582078c0c"></a>mi_option_abandoned_page_purge&#160;</td><td class="fielddoc"><p>immediately purge delayed purges on thread termination </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884cadd351e615acd8563529c20a347be7290" name="ggafebf7ed116adb38ae5218bc3ce06884cadd351e615acd8563529c20a347be7290"></a>mi_option_purge_delay&#160;</td><td class="fielddoc"><p>memory purging is delayed by N milli seconds; use 0 for immediate purging or -1 for no purging at all. (=10) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca0ac33a18f6b659fcfaf44efb0bab1b74" name="ggafebf7ed116adb38ae5218bc3ce06884ca0ac33a18f6b659fcfaf44efb0bab1b74"></a>mi_option_use_numa_nodes&#160;</td><td class="fielddoc"><p>0 = use all available numa nodes, otherwise use at most N nodes. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884cadcfb5a09580361b1be65901d2d812de6" name="ggafebf7ed116adb38ae5218bc3ce06884cadcfb5a09580361b1be65901d2d812de6"></a>mi_option_disallow_os_alloc&#160;</td><td class="fielddoc"><p>1 = do not use OS memory for allocation (but only programmatically reserved arenas) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca9fa61bd9668479f8452d2195759444cc" name="ggafebf7ed116adb38ae5218bc3ce06884ca9fa61bd9668479f8452d2195759444cc"></a>mi_option_limit_os_alloc&#160;</td><td class="fielddoc"><p>If set to 1, do not use OS memory for allocation (but only pre-reserved arenas) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884caa9ad9005d7017c8c30ad2d6ba31db909" name="ggafebf7ed116adb38ae5218bc3ce06884caa9ad9005d7017c8c30ad2d6ba31db909"></a>mi_option_max_segment_reclaim&#160;</td><td class="fielddoc"><p>max. percentage of the abandoned segments can be reclaimed per try (=10%) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca6364331e305e7d3c0218b058ff3afc88" name="ggafebf7ed116adb38ae5218bc3ce06884ca6364331e305e7d3c0218b058ff3afc88"></a>mi_option_destroy_on_exit&#160;</td><td class="fielddoc"><p>if set, release all memory on exit; sometimes used for dynamic unloading but can be unsafe </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca8236501f1ab45d26e6fd885d191a2b5e" name="ggafebf7ed116adb38ae5218bc3ce06884ca8236501f1ab45d26e6fd885d191a2b5e"></a>mi_option_arena_purge_mult&#160;</td><td class="fielddoc"><p>multiplier for <code>purge_delay</code> for the purging delay for arenas (=10) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca009e4b5684922ce664d73d2a8e1698d9" name="ggafebf7ed116adb38ae5218bc3ce06884ca009e4b5684922ce664d73d2a8e1698d9"></a>mi_option_abandoned_reclaim_on_free&#160;</td><td class="fielddoc"><p>allow to reclaim an abandoned segment on a free (=1) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca02005f164bdf03f5f00c5be726adf487" name="ggafebf7ed116adb38ae5218bc3ce06884ca02005f164bdf03f5f00c5be726adf487"></a>mi_option_purge_extend_delay&#160;</td><td class="fielddoc"><p>extend purge delay on each subsequent delay (=1) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884caeae1696100e4057ffc4182730cc04e40" name="ggafebf7ed116adb38ae5218bc3ce06884caeae1696100e4057ffc4182730cc04e40"></a>mi_option_disallow_arena_alloc&#160;</td><td class="fielddoc"><p>1 = do not use arena's for allocation (except if using specific arena id's) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca38c67733a3956a1f4eeaca89fab9e78e" name="ggafebf7ed116adb38ae5218bc3ce06884ca38c67733a3956a1f4eeaca89fab9e78e"></a>mi_option_visit_abandoned&#160;</td><td class="fielddoc"><p>allow visiting heap blocks from abandoned threads (=0) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafebf7ed116adb38ae5218bc3ce06884ca5b4357b74be0d87568036c32eb1a2e4a" name="ggafebf7ed116adb38ae5218bc3ce06884ca5b4357b74be0d87568036c32eb1a2e4a"></a>_mi_option_last&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gaebf6ff707a2e688ebb1a2296ca564054" name="gaebf6ff707a2e688ebb1a2296ca564054"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaebf6ff707a2e688ebb1a2296ca564054">&#9670;&#160;</a></span>mi_option_disable()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mi_option_disable </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a></td> <td class="paramname"><span class="paramname"><em>option</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga04180ae41b0d601421dd62ced40ca050" name="ga04180ae41b0d601421dd62ced40ca050"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga04180ae41b0d601421dd62ced40ca050">&#9670;&#160;</a></span>mi_option_enable()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mi_option_enable </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a></td> <td class="paramname"><span class="paramname"><em>option</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga7e8af195cc81d3fa64ccf2662caa565a" name="ga7e8af195cc81d3fa64ccf2662caa565a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7e8af195cc81d3fa64ccf2662caa565a">&#9670;&#160;</a></span>mi_option_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">long mi_option_get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a></td> <td class="paramname"><span class="paramname"><em>option</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga96ad9c406338bd314cfe878cfc9bf723" name="ga96ad9c406338bd314cfe878cfc9bf723"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga96ad9c406338bd314cfe878cfc9bf723">&#9670;&#160;</a></span>mi_option_get_clamp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">long mi_option_get_clamp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a></td> <td class="paramname"><span class="paramname"><em>option</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">long</td> <td class="paramname"><span class="paramname"><em>min</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">long</td> <td class="paramname"><span class="paramname"><em>max</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga274db5a6ac87cc24ef0b23e7006ed02c" name="ga274db5a6ac87cc24ef0b23e7006ed02c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga274db5a6ac87cc24ef0b23e7006ed02c">&#9670;&#160;</a></span>mi_option_get_size()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t mi_option_get_size </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a></td> <td class="paramname"><span class="paramname"><em>option</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga459ad98f18b3fc9275474807fe0ca188" name="ga459ad98f18b3fc9275474807fe0ca188"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga459ad98f18b3fc9275474807fe0ca188">&#9670;&#160;</a></span>mi_option_is_enabled()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool mi_option_is_enabled </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a></td> <td class="paramname"><span class="paramname"><em>option</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="gaf84921c32375e25754dc2ee6a911fa60" name="gaf84921c32375e25754dc2ee6a911fa60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf84921c32375e25754dc2ee6a911fa60">&#9670;&#160;</a></span>mi_option_set()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mi_option_set </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a></td> <td class="paramname"><span class="paramname"><em>option</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">long</td> <td class="paramname"><span class="paramname"><em>value</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga7ef623e440e6e5545cb08c94e71e4b90" name="ga7ef623e440e6e5545cb08c94e71e4b90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7ef623e440e6e5545cb08c94e71e4b90">&#9670;&#160;</a></span>mi_option_set_default()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mi_option_set_default </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a></td> <td class="paramname"><span class="paramname"><em>option</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">long</td> <td class="paramname"><span class="paramname"><em>value</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga9a13d05fcb77489cb06d4d017ebd8bed" name="ga9a13d05fcb77489cb06d4d017ebd8bed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9a13d05fcb77489cb06d4d017ebd8bed">&#9670;&#160;</a></span>mi_option_set_enabled()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mi_option_set_enabled </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a></td> <td class="paramname"><span class="paramname"><em>option</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>enable</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga65518b69ec5d32336b50e07f74b3f629" name="ga65518b69ec5d32336b50e07f74b3f629"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga65518b69ec5d32336b50e07f74b3f629">&#9670;&#160;</a></span>mi_option_set_enabled_default()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void mi_option_set_enabled_default </td>
<td>(</td>
<td class="paramtype"><a class="el" href="#gafebf7ed116adb38ae5218bc3ce06884c">mi_option_t</a></td> <td class="paramname"><span class="paramname"><em>option</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool</td> <td class="paramname"><span class="paramname"><em>enable</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.11.0 </li>
</ul>
</div>
</body>
</html>