Merge pull request #802 from pop-os/mmap
fix(applet): set mmap threshold to lower memory usage
This commit is contained in:
commit
c440b20c2f
1 changed files with 22 additions and 0 deletions
|
|
@ -1,6 +1,28 @@
|
||||||
mod file_manager;
|
mod file_manager;
|
||||||
|
|
||||||
|
/// Access glibc malloc tunables.
|
||||||
|
#[cfg(target_env = "gnu")]
|
||||||
|
mod malloc {
|
||||||
|
use std::os::raw::c_int;
|
||||||
|
|
||||||
|
const M_MMAP_THRESHOLD: c_int = -3;
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
fn mallopt(param: c_int, value: c_int) -> c_int;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Prevents glibc from hoarding memory via memory fragmentation.
|
||||||
|
pub fn limit_mmap_threshold() {
|
||||||
|
unsafe {
|
||||||
|
mallopt(M_MMAP_THRESHOLD, 65536);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||||
|
#[cfg(target_env = "gnu")]
|
||||||
|
malloc::limit_mmap_threshold();
|
||||||
|
|
||||||
//TODO: move file manager service to its own daemon?
|
//TODO: move file manager service to its own daemon?
|
||||||
let _conn_res = zbus::blocking::connection::Builder::session()?
|
let _conn_res = zbus::blocking::connection::Builder::session()?
|
||||||
.name("org.freedesktop.FileManager1")?
|
.name("org.freedesktop.FileManager1")?
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue