prelockd VS ksm_preload

Compare prelockd vs ksm_preload and see what are their differences.

prelockd

Lock executables and shared libraries in memory to improve system responsiveness under low-memory conditions (by hakavlad)

ksm_preload

Enables legacy applications to leverage Linux's memory deduplication. (by unbrice)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
prelockd ksm_preload
6 1
100 53
- -
2.5 10.0
6 months ago about 6 years ago
Python C
MIT License GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

prelockd

Posts with mentions or reviews of prelockd. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-09.

ksm_preload

Posts with mentions or reviews of ksm_preload. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-09.
  • Linuxatemyram.com
    5 projects | news.ycombinator.com | 9 Oct 2023
    Same page merging only works for KVM, as that's the only case that enables it without intervention that nothing else supports. It's MADVISE for everything non-KVM, and no applications are compiled with support for telling the kernel "hey, it's OK to dedupe me". The only way to get KSM to work with userspace applications is to use LD_PRELOAD to inject the necessary bits (https://github.com/unbrice/ksm_preload) or to use a custom kernel that has a patch and extra daemon to globally enable KSM for everything (https://codeberg.org/pf-kernel/uksmd).

    I really wish this was a standard, configurable sysctl. There are many container environments (and heck, even browsers) that would benefit from this, and I cannot see any real downside.

What are some alternatives?

When comparing prelockd and ksm_preload you can also consider the following projects:

nohang - A sophisticated low memory handler for Linux

wsl-drop-cache - Periodically drop the WSL caches when load is low.

le9-patch - [PATCH] mm: Protect the working set under memory pressure to prevent thrashing, avoid high latency and prevent livelock in near-OOM conditions

earlyoom - earlyoom - Early OOM Daemon for Linux

memavaild - Improve responsiveness during heavy swapping: keep amount of available memory

mio - Cross-platform C++11 header-only library for memory mapped file IO

vmtouch - Portable file system cache diagnostics and control

pf-kernel