Skip to content
This repository has been archived by the owner on Jan 7, 2023. It is now read-only.

intel/intel-pmwatch

Repository files navigation

DISCONTINUATION OF PROJECT

This project will no longer be maintained by Intel.

Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.

Intel no longer accepts patches to this project.

If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.

Contact: [email protected]

Intel® PMWatch

Intel® PMWatch (PersistentMemoryWatch) is a tool that monitors and reports the performance and health information metrics of the Intel® Optane™ DC Persistent Memory.

Supported OS

Linux

Supported Platforms

Any Intel® platform with Intel® Optane™ DC Persistent Memory.

Documentation

The information about features and options available in the tool can be found at PMWatch_User_Guide.pdf.

Build

Check Dependencies section to resolve the dependencies.

$ ./autogen.sh
$ ./configure [--with-libipmctl=<path_to_libipmctl> --with-libipmctl-inc=<path_to_libipmctl_header_files> --prefix=$HOME/pmwatch --bindir=$HOME/pmwatch/bin64 --libdir=$HOME/pmwatch/lib64]
$ make
$ make -j install

The parameters for configure are optional.
If you are building PMWatch for collectd (dcpmm plugin) dependency, make sure to use --libdir=<install_path>/lib64.

Using scripts to build and create install package

You can also use the scripts available for build and package creation.

$ ./prepare_pmwatch_release.sh M=<major_version> m=<minor_version> u=<update_num> with-libipmctl=<path_to_libipmctl> with-libipmctl-inc=<path_to_libipmctl_header_files> os=linux -r

Check pmw_version.h to obtain major, minor version and update number.

Build

Standalone build script.

$ ./build_pmwatch.sh -all with-libipmctl=<path_to_libipmctl> with-libipmctl-inc=<path_to_libipmctl_header_files> os=linux

Package

Standalone packaging script.

$ ./package_pmwatch.sh M=<major_number> m=<minor_number> u=<update_num> os=linux -r

Use the -h option to get more details about the scripts' options.

Dependencies

PMWatch is dependent on libipmctl.

Perform the following steps to install the tool dependencies.

Fedora

$ yum install daxctl-devel.x86_64 ndctl-devel.x86_64 libipmctl-devel.x86_64

CentOS, RHEL

$ wget https://copr-be.cloud.fedoraproject.org/results/jhli/ipmctl/epel-7-x86_64/00874029-ipmctl/libipmctl-devel-02.00.00.3446-1.el7.x86_64.rpm
$ yum install ndctl-libs.x86_64
$ rpm -ivh libipmctl-devel-02.00.00.3446-1.el7.x86_64.rpm

Ubuntu, Debian

$ apt install libdaxctl-dev libndctl-dev libipmctl-dev

Build tools

Install the following build tools:

autoconf, automake, flex, bison, libtool, pkg-config, libkmod-dev, libudev-dev, uuid-dev