.\" Automatically generated by Pandoc 2.10.1 .\" .TH "PMEMPOOL" "1" "2020-10-28" "PMDK - pmem Tools version 1.4" "PMDK Programmer's Manual" .hy .\" SPDX-License-Identifier: BSD-3-Clause .\" Copyright 2016-2020, Intel Corporation .SH NAME .PP \f[B]pmempool\f[R] - Persistent Memory Pool Management Tool .SH SYNOPSIS .IP .nf \f[C] $ pmempool [--help] [--version] [] \f[R] .fi .SH DESCRIPTION .PP The \f[B]pmempool\f[R] is a management tool for \f[I]Persistent Memory\f[R] pool files created by \f[B]PMDK\f[R] libraries. .PP The main purpose of \f[B]pmempool\f[R] is to provide a user with a set of utilities for off-line analysis and manipulation of pools created by pmem libraries. The pmempool is a generic command which consists of subcommands for specific purposes. Some of subcommands are required to work \f[I]without\f[R] any impact on processed pool, but some of them \f[I]may\f[R] create a new or modify an existing one. .PP The \f[B]pmempool\f[R] may be useful for troubleshooting by system administrators and for software developers who work on applications based on \f[B]PMDK\f[R]. The latter may find these tools useful for testing and debugging purposes also. .SH OPTIONS .PP \f[C]-V, --version\f[R] .PP Prints the version of \f[B]pmempool\f[R]. .PP \f[C]-h, --help\f[R] .PP Prints synopsis and list of commands. .SH COMMANDS .PP Currently there is a following set of commands available: .IP \[bu] 2 \f[B]pmempool-info\f[R](1) - Prints information and statistics in human-readable format about specified pool. .IP \[bu] 2 \f[B]pmempool-check\f[R](1) - Checks pool\[cq]s consistency and repairs pool if it is not consistent. .IP \[bu] 2 \f[B]pmempool-create\f[R](1) - Creates a pool of specified type with additional properties specific for this type of pool. .IP \[bu] 2 \f[B]pmempool-dump\f[R](1) - Dumps usable data from pool in hexadecimal or binary format. .IP \[bu] 2 \f[B]pmempool-rm\f[R](1) - Removes pool file or all pool files listed in pool set configuration file. .IP \[bu] 2 \f[B]pmempool-convert\f[R](1) - Updates the pool to the latest available layout version. .IP \[bu] 2 \f[B]pmempool-sync\f[R](1) - Synchronizes replicas within a poolset. .IP \[bu] 2 \f[B]pmempool-transform\f[R](1) - Modifies internal structure of a poolset. .IP \[bu] 2 \f[B]pmempool-feature\f[R](1) - Toggle or query a poolset features. .PP In order to get more information about specific \f[I]command\f[R] you can use \f[B]pmempool help .\f[R] .SH DEBUGGING .PP The debug logs are available only in the debug version of the tool, which is not provided by binary packages, but can be built from sources. The \f[B]pmempool.static-debug\f[R] binary blob can be found in the `src/tools/pmempool/' subdirectory. .IP \[bu] 2 \f[B]PMEMPOOL_TOOL_LOG_LEVEL\f[R] .PP The value of \f[B]PMEMPOOL_TOOL_LOG_LEVEL\f[R] enables trace points in the debug version of the tool, as follows: .IP \[bu] 2 \f[B]0\f[R] - This is the default level when \f[B]PMEMPOOL_TOOL_LOG_LEVEL\f[R] is not set. No log messages are emitted at this level. .IP \[bu] 2 \f[B]1\f[R] - Additional details on any errors detected are logged (in addition to returning the \f[I]errno\f[R]-based errors as usual). .IP \[bu] 2 \f[B]2\f[R] - A trace of basic operations is logged. .IP \[bu] 2 \f[B]3\f[R] - Enables a very verbose amount of function call tracing in the tool. .IP \[bu] 2 \f[B]4\f[R] - Enables voluminous and fairly obscure tracing information that is likely only useful to the \f[B]pmempool\f[R] developers. .PP Unless \f[B]PMEMPOOL_TOOL_LOG_FILE\f[R] is set, debugging output is written to \f[I]stderr\f[R]. .IP \[bu] 2 \f[B]PMEMPOOL_TOOL_LOG_FILE\f[R] .PP Specifies the name of a file where all logging information should be written. If the last character in the name is \[lq]-\[rq], the \f[I]PID\f[R] of the current process will be appended to the file name when the log file is created. If \f[B]PMEMPOOL_TOOL_LOG_FILE\f[R] is not set, output is written to \f[I]stderr\f[R]. .SH SEE ALSO .PP \f[B]libpmemblk\f[R](7), \f[B]libpmemlog\f[R](7), \f[B]libpmemobj\f[R](7) and \f[B]\f[R]