7.3.18. database_unmap
¶
7.3.18.1. Summary¶
New in version 5.0.7.
database_unmap
unmaps already mapped tables and columns in the
database. “Map” means that loading from disk to memory. “Unmap” means
that releasing mapped memory.
Note
Normally, you don’t need to use database_unmap
because OS
manages memory cleverly. If remained system memory is reduced, OS
moves memory used by Groonga to disk until Groonga needs the
memory. OS moves unused memory preferentially.
Caution
You can use this command only when thread_limit returns
1
. It means that this command doesn’t work with multithreading.
7.3.18.2. Syntax¶
This command takes no parameters:
database_unmap
7.3.18.3. Usage¶
You can unmap database after you change the max number of threads to
1
:
Execution example:
thread_limit --max 1
# [[0, 1337566253.89858, 0.000355720520019531], 2]
database_unmap
# [[0, 1337566253.89858, 0.000355720520019531], true]
If the max number of threads is larger than 1
, database_unmap
fails:
Execution example:
thread_limit --max 2
# [[0, 1337566253.89858, 0.000355720520019531], 1]
database_unmap
# [
# [
# -2,
# 1337566253.89858,
# 0.000355720520019531,
# "[database_unmap] the max number of threads must be 1: <2>",
# [
# [
# "proc_database_unmap",
# "proc.c",
# 3705
# ]
# ]
# ],
# false
# ]
7.3.18.4. Parameters¶
This section describes all parameters.
7.3.18.4.1. Required parameters¶
There is no required parameter.
7.3.18.4.2. Optional parameters¶
There is no optional parameter.
7.3.18.5. Return value¶
The command returns true
as body on success such as:
[HEADER, true]
If the command fails, error details are in HEADER
.
See Output format for HEADER
.