Skip to content

Pre-fault and optionally lock files into the kernel's page cache to improve application startup times and reduce desktop lagging.

License

Notifications You must be signed in to change notification settings

X3n0m0rph59/prefault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to the Prefault Project

Copr build status

What is prefault?

TL;DR

Pre-fault and optionally lock files into the kernel's page cache to improve application startup times and reduce desktop lagging.

Prefault is a lightweight tool used to pre-fault and optionally mlock() pages from often used files into memory, ahead of time. You may use prefault to lock core system binaries into memory, to avoid eviction of important pages during memory pressure, which would then cause a 'laggy' user experience.

Quick Installation Guide

Install on Arch Linux and Manjaro

    $ yay prefault-git

Install on Fedora

    $ sudo dnf copr enable x3n0m0rph59/prefault-git
    $ sudo dnf install prefault-git

Install from Source

$ git clone https://github.com/X3n0m0rph59/prefault.git
$ cd prefault/
$ cargo build --release

# ... copy files ...

How does prefault compare to precached?

Advantages over precached

  • Much more lightweight
  • Much smaller code base
  • Saves power, since it does not require any calculations, once the process snapshots have been created
  • Does not need a full fledged daemon

Disadvantages

  • More or less static, does not adapt to system behavior changes
  • Manual intervention required if updates of a package introduce changes to the dependencies of a binary

Authors

prefault - Copyright (C) 2019-2020 the prefault developers

About

Pre-fault and optionally lock files into the kernel's page cache to improve application startup times and reduce desktop lagging.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published