tree: 2677ef1648ba0686b78a0ac5d241bb2431d006bc [path history] [tgz]
  1. src/
  2. .cargo-checksum.json
  3. Cargo.toml
  4. LICENSE-APACHE
  5. LICENSE-MIT
  6. README.md
  7. rustfmt.toml
vendor/tikv-jemalloc-ctl-0.5.4/README.md

jemalloc-ctl

Travis-CI Status Latest Version docs

A safe wrapper over jemalloc's mallctl*() control and introspection APIs.

Documentation

Platform support

Supported on all platforms supported by the tikv-jemallocator crate.

Example


use std::thread; use std::time::Duration; use tikv_jemalloc_ctl::{stats, epoch}; #[global_allocator] static ALLOC: tikv_jemallocator::Jemalloc = tikv_jemallocator::Jemalloc; fn main() { // Obtain a MIB for the `epoch`, `stats.allocated`, and // `atats.resident` keys: let e = epoch::mib().unwrap(); let allocated = stats::allocated::mib().unwrap(); let resident = stats::resident::mib().unwrap(); loop { // Many statistics are cached and only updated // when the epoch is advanced: e.advance().unwrap(); // Read statistics using MIB key: let allocated = allocated.read().unwrap(); let resident = resident.read().unwrap(); println!("{} bytes allocated/{} bytes resident", allocated, resident); thread::sleep(Duration::from_secs(10)); } }

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in jemalloc-ctl by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.