Skip to content
Khalid Aziz edited this page Mar 10, 2022 · 3 revisions

Welcome to the adaptivemm wiki!

Overview

adaptivemm monitors current state of free pages overall and free pages of each order. Based upon current rate of free pages consumption and memory fragmentation, it predicts if system is likely to run out of memory or if memory will become severely fragmented in near future. If so, it adjusts watermarks to force memory reclamation if system is about to run out of memory. If memory is predicted to become severely fragmented, it triggers compaction in the kernel. The goal is to avert memory shortage and/or fragmentation by taking proactive measures. To arrive at this prediction, adaptivemm samples free pages of each order on each node periodically and fits a straight line using method of least squares to these sample points. It also computes current reclamation rate by monitoring /proc/vmstat. The equation derived for best fit line is used to compute when free memory exhaustion will occur taking into account current reclamation rate. If this exhaustion is imminent in near future, watermarks are adjusted to initiate reclamation.

Installation and use

Clone this wiki locally