# DMS
**Repository Path**: opengauss/DMS
## Basic Information
- **Project Name**: DMS
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MulanPSL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 20
- **Forks**: 100
- **Created**: 2022-10-29
- **Last Updated**: 2026-08-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# DMS
Distributed Memory Service (DMS) is a foundational component providing distributed memory services.
It supports the transmission of PAGE content over TCP/RDMA networks, merging primary and standby memory to provide real-time page exchange capabilities. This enables real-time consistent read functionality on standby nodes.
#### 1. Project Description
##### 1. Programming language: C
##### 2. Compilation tool: CMake (recommended) or Make
##### 3. Directories:
- `DMS`: the main directory. The `CMakeLists.txt` file is the main project entry.
- `src`: the source code directory. Common functions are grouped by sub-directory.
- `build`: the project building script
#### 2. Compilation Guide
##### 1. OS and Software Dependencies
The following OSs are supported:
- CentOS 7.6 (x86)
- openEuler 20.03 LTS
- openEuler 22.03 LTS
- openEuler 24.03 LTS
For details about how to adapt to other OSs, see the openGauss compilation guide.
##### 2. Downloading DMS
Download DMS from the open-source community.
##### 3. Compiling Code
Use `DMS/build/linux/opengauss/build.sh` to compile the code. The following table describes the parameters.
| Option| Parameter | Description |
| --- |:--- | :--- |
| -3rd | [binarylibs path] | Specifies the `binarylibs` path. It must be an absolute path.|
| -m | [version_mode] | Specifies the target version of the compilation. It can be `Debug` or `Release` (default).|
| -t | [build_tool] | Specifies the compilation tool, which can be `cmake` (default) or `make`.|
Run the following command to perform compilation:
`[user@linux ]$ sh build.sh -3rd [binarylibs path] -m Release -t cmake`
After the compilation is complete, the dynamic library is generated under the `DMS/output/lib` directory.