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).
- 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.
- 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.
- 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.