|0.7.0||Nov 29, 2023|
|0.6.9||Oct 11, 2023|
|0.6.7||Sep 9, 2023|
|0.6.3||Aug 24, 2023|
#206 in Database interfaces
124 downloads per month
Used in 2 crates
top for Memcached.
- Display real-time statistics about your
memcachedservers such as
- Memory usage/limit
- Per-slab memory usage
- Current/max connections
- Hit ratio
- Bytes transmitted and received
- Server CPU usage
- Support for easily switching between multiple servers
There are multiple ways to install
mtop listed below.
Binaries are published for GNU/Linux (x86_64), Musl/Linux (x86_64), Windows (x86_64), and MacOS (x86_64 and aarch64) for each release.
Docker images for GNU/Linux (amd64, arm64) are published for each release.
mtop along with its dependencies can be downloaded and built from source using the
cargo tool. Note that this requires you have a Rust toolchain installed.
cargo install mtop
To install as a completely static binary (Linux only):
cargo install --target x86_64-unknown-linux-musl mtop
cargo uninstall mtop
mtop along with its dependencies can be built from the latest sources on Github using
cargo tool. Note that this requires you have Git and a Rust toolchain installed.
Get the sources:
git clone https://github.com/56quarters/mtop.git && cd mtop
Install from local sources:
cargo install --path mtop
Install a completely static binary from local sources (Linux only):
cargo install --path mtop --target x86_64-unknown-linux-musl
cargo uninstall mtop
mtop takes one or more Memcached
host:port combinations as arguments. Statistics from
each of these servers will be collected approximately once a second. A maximum of ten
measurements from each server will be kept in memory to use for computations.
mtop is not able to connect to the servers when starting, it will exit after printing
an error message. If
mtop is not able to connect to servers or fetch statistics from
them after starting, the errors will be logged to a file. The location of this file is
/tmp/mtop/mtop.log on Unix-like systems. This log file is truncated every time
Some examples of invoking
mtop are given below.
Connecting to a local server
Connecting to multiple servers
mtop cache01.example.com:11211 cache02.example.com:11211 cache03.example.com:11211
Connecting to multiple servers with a single DNS name
In this example, a DNS lookup for
memcached.local returns three DNS
dig memcached.local ;; QUESTION SECTION: ;memcached.local. IN A ;; ANSWER SECTION: memcached.local. 0 IN A 127.0.0.3 memcached.local. 0 IN A 127.0.0.2 memcached.local. 0 IN A 127.0.0.1
Connecting to a port-forwarded Kubernetes pod
kubectl port-forward --namespace=example memcached-0 11211:11211 mtop localhost:11211
TLS connection to server
mtop --tls-enabled cache01.example.com:11211
TLS with a custom CA
mtop --tls-enabled --tls-ca memcached-ca-cert.pem cache01.example.com:11211
TLS with client authentication and a custom CA
mtop --tls-enabled --tls-ca memcached-ca-cert.pem --tls-cert memcached-client-cert.pem --tls-key memcached-client-key.pem cache01.example.com:11211
mtop UI, there are a few keys that control behavior.
mto toggle between the default UI and per-slab UI.
right-arrowto select the next host.
left-arrowto select the previous host.
down-arrowto select the next slab row.
up-arrowto select the previous slab row.
No historical data
mtop displays instantaneous statistics or an average over the last 10 seconds (depending on
the particular statistic). It does not persist statistics anywhere for historical analysis. If
this is something you need, use the memcached_exporter
mtop is available under the terms of the GPL, version 3.
Any contribution intentionally submitted for inclusion in the work by you shall be licensed as above, without any additional terms or conditions.
Steps for releasing new versions of
mtop are described below.
- Open and merge a PR incrementing the version of
Cargo.tomlfiles and update
- Update local
masterfrom Github remote.
- Create but do not push a tag of the format
cargo publishfor the
cargo publishfor the
- Push tags to all remotes
git push --tags origin,
git push --tags github