DAOS Environment Variables¶
This section lists the environment variables used by DAOS.
Warning
Many of these variables are used for development purposes only, and may be removed or changed in the future.
The description of each variable follows the following format:
-
Short description
-
Type
-
The default behavior if not set.
-
A longer description if necessary
Type
is defined by this table:
Type | Values |
---|---|
BOOL | 0 means false; any other value means true |
BOOL2 | no means false; any other value means true |
BOOL3 | set to empty, or any value means true; unset means false |
INTEGER | Non-negative decimal integer |
STRING | String |
Server environment variables¶
Environment variables in this section only apply to the server side.
Variable | Description |
---|---|
RDB_ELECTION_TIMEOUT | Raft election timeout used by RDBs in milliseconds. INTEGER. Default to 7000 ms. |
RDB_REQUEST_TIMEOUT | Raft request timeout used by RDBs in milliseconds. INTEGER. Default to 3000 ms. |
RDB_COMPACT_THRESHOLD | Raft log compaction threshold in applied entries. INTEGER. Default to 256 entries. |
RDB_AE_MAX_ENTRIES | Maximum number of entries in a Raft AppendEntries request. INTEGER. Default to 32. |
RDB_AE_MAX_SIZE | Maximum total size in bytes of all entries in a Raft AppendEntries request. INTEGER. Default to 1 MB. |
DAOS_REBUILD | Determines whether to start rebuilds when excluding targets. BOOL2. Default to true. |
DAOS_MD_CAP | Size of a metadata pmem pool/file in MBs. INTEGER. Default to 128 MB. |
DAOS_START_POOL_SVC | Determines whether to start existing pool services when starting a daos_server. BOOL. Default to true. |
CRT_DISABLE_MEM_PIN | Disable memory pinning workaround on a server side. BOOL. Default to 0. |
DAOS_SCHED_PRIO_DISABLED | Disable server ULT prioritizing. BOOL. Default to 0. |
DAOS_SCHED_RELAX_MODE | The mode of CPU relaxing on idle. "disabled":disable relaxing; "net":wait on network request for INTVL; "sleep":sleep for INTVL. STRING. Default to "net" |
DAOS_SCHED_RELAX_INTVL | CPU relax interval in milliseconds. INTEGER. Default to 1 ms. |
Server and Client environment variables¶
Environment variables in this section apply to both the server side and the client side.
Variable | Description |
---|---|
FI_OFI_RXM_USE_SRX | Enable shared receive buffers for RXM-based providers (verbs, tcp). BOOL. Auto-defaults to 1. |
FI_UNIVERSE_SIZE | Sets expected universe size in OFI layer to be more than expected number of clients. INTEGER. Auto-defaults to 2048. |
Client environment variables¶
Environment variables in this section only apply to the client side.
Variable | Description |
---|---|
FI_MR_CACHE_MAX_COUNT | Enable MR caching in OFI layer. Recommended to be set to 0 (disable) when CRT_DISABLE_MEM_PIN is NOT set to 1. INTEGER. Default to unset. |
Debug System (Client & Server)¶
Variable | Description |
---|---|
D_LOG_FILE | DAOS debug logs (both server and client) are written to stdout by default. The debug location can be modified by setting this environment variable ("D_LOG_FILE=/tmp/daos_debug.log"). |
D_LOG_FILE_APPEND_PID | If set and not 0, causes the main PID to be appended at the end of D_LOG_FILE path name (both server and client). |
D_LOG_STDERR_IN_LOG | If set and not 0, causes stderr messages to be merged in D_LOG_FILE. |
D_LOG_SIZE | DAOS debug logs (both server and client) have a 1GB file size limit by default. When this limit is reached, the current log file is closed and renamed with a .old suffix, and a new one is opened. This mechanism will repeat each time the limit is reached, meaning that available saved log records could be found in both ${D_LOG_FILE} and last generation of ${D_LOG_FILE}.old files, to a maximum of the most recent 2*D_LOG_SIZE records. This can be modified by setting this environment variable ("D_LOG_SIZE=536870912"). Sizes can also be specified in human-readable form using k , m , g , K , M , and G . The lower-case specifiers are base-10 multipliers and the upper case specifiers are base-2 multipliers. |
D_LOG_FLUSH | Allows to specify a non-default logging level where flushing will occur. By default, only levels above WARN will cause an immediate flush instead of buffering. |
D_LOG_TRUNCATE | By default log is appended. But if set this variable will cause log to be truncated upon first open and logging start. |
DD_SUBSYS | Used to specify which subsystems to enable. DD_SUBSYS can be set to individual subsystems for finer-grained debugging ("DD_SUBSYS=vos"), multiple facilities ("DD_SUBSYS=eio,mgmt,misc,mem"), or all facilities ("DD_SUBSYS=all") which is also the default setting. If a facility is not enabled, then only ERR messages or more severe messages will print. |
DD_STDERR | Used to specify the priority level to output to stderr. Options in decreasing priority level order: FATAL, CRIT, ERR, WARN, NOTE, INFO, DEBUG. By default, all CRIT and more severe DAOS messages will log to stderr ("DD_STDERR=CRIT"), and the default for CaRT/GURT is FATAL. |
D_LOG_MASK | Used to specify what type/level of logging will be present for either all of the registered subsystems or a select few. Options in decreasing priority level order: FATAL, CRIT, ERR, WARN, NOTE, INFO, DEBUG. DEBUG option is used to enable all logging (debug messages as well as all higher priority level messages). Note that if D_LOG_MASK is not set, it will default to logging all messages excluding debug ("D_LOG_MASK=INFO"). Example: "D_LOG_MASK=DEBUG". This will set the logging level for all facilities to DEBUG, meaning that all debug messages, as well as higher priority messages will be logged (INFO, NOTE, WARN, ERR, CRIT, FATAL). Example 2: "D_LOG_MASK=DEBUG,MEM=ERR,RPC=ERR". This will set the logging level to DEBUG for all facilities except MEM & RPC (which will now only log ERR and higher priority level messages, skipping all DEBUG, INFO, NOTE & WARN messages) |
DD_MASK | Used to enable different debug streams for finer-grained debug messages, essentially allowing the user to specify an area of interest to debug (possibly involving many different subsystems) as opposed to parsing through many lines of generic DEBUG messages. All debug streams will be enabled by default ("DD_MASK=all"). Single debug masks can be set ("DD_MASK=trace") or multiple masks ("DD_MASK=trace,test,mgmt"). Note that since these debug streams are strictly related to the debug log messages, DD_LOG_MASK must be set to DEBUG. Priority messages higher than DEBUG will still be logged for all facilities unless otherwise specified by D_LOG_MASK (not affected by enabling debug masks). |