Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

Doc fixes #96

Merged
merged 2 commits into from
May 29, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
19 changes: 16 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,24 @@

# KSM throttling daemon

* [Introduction](#introduction)
* [What is KSM?](#what-is-ksm)
* [Overall architecture](#overall-architecture)
* [Daemon](#daemon)
* [Throttling algorithm](#throttling-algorithm)
* [Throttling triggers](#throttling-triggers)
* [`virtcontainers` trigger](#virtcontainers-trigger)
* [gRPC](#grpc)
* [Build and install](#build-and-install)
* [Run](#run)

## Introduction

This project implements a
[Kernel Same-page Merging](https://www.kernel.org/doc/Documentation/vm/ksm.txt)
throttling daemon.

Its goal is to regulate KSM by dynamically modifying the KSM sysfs
Its goal is to regulate KSM by dynamically modifying the KSM `sysfs`
entries, in order to minimize memory duplication as fast as possible
while keeping the KSM daemon load low.

Expand All @@ -25,7 +38,7 @@ A daemon (`ksmd`) periodically scans userspace memory, looking for
identical pages that can be replaced by a single, write-protected
page. When a process tries to modify this shared page content, it
gets a private copy into its memory space. KSM only scans and merges
pages that are both anonymous and that have been explictly tagged as
pages that are both anonymous and that have been explicitly tagged as
mergeable by applications calling into the `madvise` system call
(`int madvice(addr, length, MADV_MERGEABLE)`).

Expand Down Expand Up @@ -61,7 +74,7 @@ other hand.
By default, `ksm-throttler` will throttle KSM up and down. Regardless
of the current KSM system settings, `ksm-throttler` will move them to
the `aggressive` settings as soon as it gets triggered.
With the `aggressive` setting, ksmd will run every millisecond and
With the `aggressive` setting, `ksmd` will run every millisecond and
will scan 10% of all available anonymous pages during each scanning
cycle.

Expand Down