Tarantool CE/EE Documentation portal logo
Support
Updated at July 17, 2026   02:08 PM

cfg_basic

background

Since version 1.6.2.

Run the server as a background task. The log and pid_file parameters must be non-null for this to work.

Type: boolean

Default: false

Environment variable: TT_BACKGROUND

Dynamic: no

coredump

Create coredump files.

Usually, an administrator needs to call ulimit -c unlimited (or set corresponding options in systemd's unit file) before running a Tarantool process to get core dumps. If coredump is enabled, Tarantool sets the corresponding resource limit by itself and the administrator doesn't need to call ulimit -c unlimited (see man 3 setrlimit).

This option also sets the state of the dumpable attribute, which is enabled by default, but may be dropped in some circumstances (according to man 2 prctl, see PR_SET_DUMPABLE).

Type: boolean

Environment variable: TT_COREDUMP

Default: false

Dynamic: no

custom_proc_title

Since version 1.6.7.

Add the given string to the server's process title (what's shown in the COMMAND column for ps -ef and top -c commands).

For example, ordinarily ps -ef shows the Tarantool server process thus:

$ ps -ef | grep tarantool1000     14939 14188  1 10:53 pts/2    00:00:13 tarantool <running>

But if the configuration parameters include custom_proc_title='sessions' then the output looks like:

$ ps -ef | grep tarantool1000     14939 14188  1 10:53 pts/2    00:00:16 tarantool <running>: sessions

Type: string

Default: null

Environment variable: TT_CUSTOM_PROC_TITLE

Dynamic: yes

listen

Since version 1.6.4.

The read/write data port number or URI (Universal Resource Identifier) string. Has no default value, so must be specified if connections occur from the remote clients that don't use the "admin port". Connections made with listen = {URI} are called "binary port" or "binary protocol" connections.

A typical value is 3301.

box.cfg { listen = 3301 }box.cfg { listen = "127.0.0.1:3301" }

Starting from version 2.10.0, you can specify several URIs, and the port number is always stored as an integer value.

Type: integer or string

Default: null

Environment variable: TT_LISTEN

Dynamic: yes

memtx_dir

Since version 1.7.4.

A directory where memtx stores snapshot (.snap) files. A relative path in this option is interpreted as relative to work_dir.

By default, snapshots and WAL files are stored in the same directory. However, you can set different values for the memtx_dir and wal_dir options to store them on different physical disks for performance matters.

Type: string

Default: "."

Environment variable: TT_MEMTX_DIR

Dynamic: no

pid_file

Since version 1.4.9.

Store the process id in this file. Can be relative to work_dir. A typical value is "tarantool.pid".

Type: string

Default: null

Environment variable: TT_PID_FILE

Dynamic: no

read_only

Since version 1.7.1.

Say box.cfg{read_only=true...} to put the server instance in read-only mode. After this, any requests that try to change persistent data will fail with error ER_READONLY. Read-only mode should be used for master-replica replication. Read-only mode does not affect data-change requests for spaces defined as temporary. Although read-only mode prevents the server from writing to the WAL, it does not prevent writing diagnostics with the log module.

Type: boolean

Default: false

Environment variable: TT_READ_ONLY

Dynamic: yes

Setting read_only == true affects spaces differently depending on the options that were used during box.schema.space.create, as summarized by this chart:

Option

Can be

Can be written

Is

Is

(default)

no

no

yes

yes

temporary

no

yes

no

no

is_local

no

yes

no

yes

### sql_cache_size {params[anchor=cfg_basic-sql_cache_size]} Since version 2.3.1.

The maximum number of bytes in the cache for SQL prepared statements. (The number of bytes that are actually used can be seen with box.info.sql().cache.size.)

Type: number

Default: 5242880

Environment variable: TT_SQL_CACHE_SIZE

Dynamic: yes

vinyl_dir

Since version 1.7.1.

A directory where vinyl files or subdirectories will be stored. Can be relative to work_dir. If not specified, defaults to work_dir.

Type: string

Default: "."

Environment variable: TT_VINYL_DIR

Dynamic: no

vinyl_timeout

Since version 1.7.5.

The vinyl storage engine has a scheduler which does compaction. When vinyl is low on available memory, the compaction scheduler may be unable to keep up with incoming update requests. In that situation, queries may time out after vinyl_timeout seconds. This should rarely occur, since normally vinyl would throttle inserts when it is running low on compaction bandwidth. Compaction can also be ordered manually with index_object:compact().

Type: float

Default: 60

Environment variable: TT_VINYL_TIMEOUT

Dynamic: yes

username

Since version 1.4.9.

UNIX user name to switch to after start.

Type: string

Default: null

Environment variable: TT_USERNAME

Dynamic: no

wal_dir

Since version 1.6.2.

A directory where write-ahead log (.xlog) files are stored. A relative path in this option is interpreted as relative to work_dir.

By default, WAL files and snapshots are stored in the same directory. However, you can set different values for the wal_dir and memtx_dir options to store them on different physical disks for performance matters.

Type: string

Default: "."

Environment variable: TT_WAL_DIR

Dynamic: no

work_dir

Since version 1.4.9.

A directory where database working files will be stored. The server instance switches to work_dir with chdir(2) after start. Can be relative to the current directory. If not specified, defaults to the current directory. Other directory parameters may be relative to work_dir, for example:

box.cfg{    work_dir = '/home/user/A',    wal_dir = 'B',    memtx_dir = 'C'}

will put xlog files in /home/user/A/B, snapshot files in /home/user/A/C, and all other files or subdirectories in /home/user/A.

Type: string

Default: null

Environment variable: TT_WORK_DIR

Dynamic: no

worker_pool_threads

Since version 1.7.5.

The maximum number of threads to use during execution of certain internal processes (currently socket.getaddrinfo() and coio_call()).

Type: integer

Default: 4

Environment variable: TT_WORKER_POOL_THREADS

Dynamic: yes

strip_core

Since version 2.2.2.

Whether coredump files should include memory allocated for tuples. (This can be large if Tarantool runs under heavy load.) Setting to true means "do not include". In an older version of Tarantool the default value of this parameter was false.

Type: boolean

Default: true

Environment variable: TT_STRIP_CORE

Dynamic: no

memtx_use_mvcc_engine

Since version 2.6.1.

Enable transactional manager if set to true.

Type: boolean

Default: false

Environment variable: TT_MEMTX_USE_MVCC_ENGINE

Dynamic: no