KSM ( eng. kernel same-page merging , někdy interpretováno jako sdílená paměť jádra ) je technologie linuxového jádra , která umožňuje jádru kombinovat identické stránky paměti mezi různými procesy nebo virtuálními hostujícími systémy do jedné pro sdílení; implementace deduplikace dat pro RAM. Technologie zahrnuje skenování paměti za účelem nalezení duplicitních stránek, každý pár duplikátů je spojen do jedné stránky, označené jako copy-on-write , takže jádro automaticky oddělí stránky paměti, jakmile jeden proces změní data [1] .
Poprvé se objevil ve verzi jádra 2.6.32 [2] . Na začátku aplikace panovaly obavy, že by funkce mohla být zneužita jako zranitelnost , v dalších verzích byla obava zohledněna. Dalším problémem je, že hledání duplikátů způsobuje dodatečné zatížení procesorových zdrojů [1] , takže technologie poskytla odhad, jak často se budou určité stránky paměti měnit, takže v případech, kdy jsou náklady na zdroje relativně vysoké, se slučování stránek nepoužívá. [3 ] .
Nejvíce se používá ve virtualizačních systémech založených na linuxovém jádře, zpočátku v KVM , později podporován v Xen a Virtuozzo ( hypervizory VMware , také postavené na linuxovém jádře, používají vlastní technologii deduplikace stránek RAM). Spolu s technikami vytěsňování nevyužité paměti, stránkováním na straně hypervizoru a přímou kompresí poskytuje KSM virtualizačním systémům schopnost znovu načítat paměťové zdroje ( angl. memory overcommitment ); v podmínkách poměrně homogenních instancí hostujících operačních systémů je možný významný efekt, zejména experimentální implementace KSM od Red Hat ukázala, že 52 virtuálních instancí Windows XP s 1 GB přidělené paměti může běžet na počítači s 16 GB RAM [4] .
Použitelnost a účinnost v určitých případech mimo rámec problémů virtualizace [2] [3] je také stanovena .