The Application Configuration File

The configuration file mvmalloc.yml controls how the TMS library interacts with the system.

Important: The configuration file path can be any number of characters up to maximum length allowed by the operating system. However, Memory Machine truncates the configuration file path to 1800 characters when displaying it. If you have assigned a log name prefix over 1800 characters, the displayed file path is truncated and therefore incorrect.

Copy this file, modify it, and supply it as a parameter when you run applications in Memory Machine. See Running an Application in Memory Machine.

An example of the YAML-formatted file is shown here:

DpmeSocketName: /tmp/dpme_daemon.0
MmapCapture: true
MallocCapture: true
# LogName: /var/log/memverge/single_malloc_log
LogNamePrefix: /var/log/memverge/malloc_log
LogTrace: false
CommPort: 5678
EnableSnapshot: true

HugePageDram: false
HugePagePath: /dev/hugepages
PreallocateDram: false
# DramTierGB: 0

The parameters shown in the example file are the most commonly used application parameters. There are other parameters that can be set for specialized purposes. These are described elsewhere in the documentation or provided by MemVerge support if needed.

The parameters from the example file are described in the following list:

DpmeSocketName
The socket name for the MemVerge Memory Allocation Service (MVMAS).
Important: MemVerge recommends you not change the name the domain socket name DpmeSocketName from the default. If you must change DpmeSocketName, the name can be no longer than 79 characters.
MmapCapture
One of two flags in mvmalloc.yml that control which groups of glibc.so functions are intercepted by TMS. Setting either MallocCapture or MMapCapture to true causes all functions grouped within the setting to be intercepted and routed to TMS. See Intercepted Memory Functions.
MMapCapture controls intercept of memory-mapped file I/O functions.
MallocCapture
The other glibc.so intercept parameter. MallocCapture controls intercept of dynamic memory allocation functions.
LogName
A file path to an application log file. If LogName is specified, Memory Machine writes to the named file. This means that multiple processes can write to the same file.
LogNamePrefix
To write to a separate log file for an application, use LogNamePrefix instead of LogName. With LogNamePrefix, Memory Machine appends the process ID and a unique identifier to the LogNamePrefix file path.
Important: The log file path can be any number of characters up to maximum length allowed by the operating system. However, Memory Machine truncates the log name prefix to 1800 characters when it displays the logfile path. If you have assign a log name prefix over 1800 characters, the prefix will be truncated and the displayed logfile name therefore incorrect.
LogTrace
Turns log tracing on or off for the application. Useful for debugging.
CommPort
The port on which MVMAS communicates with the application. It is not necessary to assign different ports to different application instances. MemVerge recommends that you not change this setting.
EnableSnapshot
If true, enable Memory Machine to capture snapshots.
HugePageDram
Whether to use HugePages for DRAM tier. See Configuring HugePages.
HugePagePath
The file path of the HugePage filesystem.
PreallocateDram
If true, reserve DRAM for tiering at startup. Otherwise allocate DRAM tier as needed.
DramTierGB
Sets the application tier size, the maximum amount of DRAM that can be used as tier memory in an instance of this application. You can set this value or turn off DRAM tiering entirely for an application. See Setting Volatile Tier Memory.