mirror of
https://github.com/MariaDB/server.git
synced 2025-11-09 11:41:36 +03:00
56 lines
3.9 KiB
HTML
56 lines
3.9 KiB
HTML
<!--$Id: config.so,v 10.17 2000/10/03 17:17:35 bostic Exp $-->
|
|
<!--Copyright 1997, 1998, 1999, 2000 by Sleepycat Software, Inc.-->
|
|
<!--All rights reserved.-->
|
|
<html>
|
|
<head>
|
|
<title>Berkeley DB Reference Guide: Configuring the memory pool</title>
|
|
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
|
|
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
|
|
</head>
|
|
<body bgcolor=white>
|
|
<a name="2"><!--meow--></a>
|
|
<table><tr valign=top>
|
|
<td><h3><dl><dt>Berkeley DB Reference Guide:<dd>Memory Pool Subsystem</dl></h3></td>
|
|
<td width="1%"><a href="../../ref/mp/intro.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/txn/intro.html"><img src="../../images/next.gif" alt="Next"></a>
|
|
</td></tr></table>
|
|
<p>
|
|
<h1 align=center>Configuring the memory pool</h1>
|
|
<p>There are two interfaces used for configuring the memory pool.
|
|
<p>The most important tuning parameter for almost all applications, including
|
|
Berkeley DB applications, is the size of the pool. There are two ways to
|
|
specify the pool size. First, calling the <a href="../../api_c/env_set_cachesize.html">DBENV->set_cachesize</a> function
|
|
specifies the pool size for all of the applications sharing the Berkeley DB
|
|
environment. Second, by calling the <a href="../../api_c/db_set_cachesize.html">DB->set_cachesize</a> function. The
|
|
latter only specifies a pool size for the specific database. Note, it is
|
|
meaningless to call <a href="../../api_c/db_set_cachesize.html">DB->set_cachesize</a> for a database opened inside
|
|
of a Berkeley DB environment, since the environment pool size will override any
|
|
pool size specified for a single database. For information on tuning the
|
|
Berkeley DB cache size, see <a href="../../ref/am_conf/cachesize.html">Selecting
|
|
a cache size</a>.
|
|
<p>The second memory pool configuration interface specifies the maximum size
|
|
of backing files to map into the process address space instead of copying
|
|
pages through the local cache. Only read-only database files can be
|
|
mapped into process memory. Because of the requirements of the Berkeley DB
|
|
transactional implementation, log records describing database changes must
|
|
be written to disk before the actual database changes. As mapping
|
|
read-write database files into process memory would permit the underlying
|
|
operating system to write modified database changes at will, it is not
|
|
supported.
|
|
<p>Mapping files into the process address space can result in
|
|
better-than-usual performance, as available virtual memory is normally
|
|
much larger than the local cache, and page faults are faster than page
|
|
copying on many systems. However, in the presence of limited virtual
|
|
memory it can cause resource starvation, and in the presence of large
|
|
databases, it can result in immense process sizes.
|
|
<p>To specify that no files are to be mapped into the process address space,
|
|
specify the <a href="../../api_c/env_open.html#DB_NOMMAP">DB_NOMMAP</a> flag to the <a href="../../api_c/env_set_flags.html">DBENV->set_flags</a> interface.
|
|
To specify that any individual file should not be mapped into the process
|
|
address space, specify the <a href="../../api_c/env_open.html#DB_NOMMAP">DB_NOMMAP</a> flag to the
|
|
<a href="../../api_c/memp_fopen.html">memp_fopen</a> interface. To limit the size of files mapped into the
|
|
process address space, use the <a href="../../api_c/env_set_mp_mmapsize.html">DBENV->set_mp_mmapsize</a> function.
|
|
<table><tr><td><br></td><td width="1%"><a href="../../ref/mp/intro.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../ref/toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/txn/intro.html"><img src="../../images/next.gif" alt="Next"></a>
|
|
</td></tr></table>
|
|
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
|
|
</body>
|
|
</html>
|