mirror of
https://github.com/girlbossceo/jemallocator.git
synced 2024-12-01 07:15:55 +00:00
2.2 KiB
2.2 KiB
jemalloc-ctl
A safe wrapper over
jemalloc
'smallctl*()
control and introspection APIs.
Documentation
Platform support
Supported on all platforms supported by the jemallocator
crate.
Example
extern crate jemallocator;
extern crate jemalloc_ctl;
use std::thread;
use std::time::Duration;
#[global_allocator]
static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc;
fn main() {
loop {
// many statistics are cached and only updated when the epoch is advanced.
jemalloc_ctl::epoch().unwrap();
let allocated = jemalloc_ctl::stats::allocated().unwrap();
let resident = jemalloc_ctl::stats::resident().unwrap();
println!("{} bytes allocated/{} bytes resident", allocated, resident);
thread::sleep(Duration::from_secs(10));
}
}
License
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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.