rls_analysis/util.rs
1#[cfg(unix)]
2pub fn get_resident() -> Option<usize> {
3 use std::fs::File;
4 use std::io::Read;
5
6 let field = 1;
7 let mut f = File::open("/proc/self/statm").ok()?;
8 let mut contents = String::new();
9 f.read_to_string(&mut contents).ok()?;
10 let s = contents.split_whitespace().nth(field)?;
11 let npages = s.parse::<usize>().ok()?;
12 Some(npages * 4096)
13}
14
15#[cfg(not(unix))]
16pub fn get_resident() -> Option<usize> {
17 None
18}