| 1 | <!--startmeta |
| 2 | custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/kernel_same-page_merging.md" |
| 3 | meta_yaml: "https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/metadata.yaml" |
| 4 | sidebar_label: "Kernel Same-Page Merging" |
| 5 | learn_status: "Published" |
| 6 | learn_rel_path: "Collecting Metrics/Collectors/Operating Systems" |
| 7 | keywords: ['ksm', 'samepage', 'merging'] |
| 8 | message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" |
| 9 | endmeta--> |
| 10 | |
| 11 | # Kernel Same-Page Merging |
| 12 | |
| 13 | |
| 14 | <img src="https://netdata.cloud/img/microchip.svg" width="150"/> |
| 15 | |
| 16 | |
| 17 | Plugin: proc.plugin |
| 18 | Module: /sys/kernel/mm/ksm |
| 19 | |
| 20 | <img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" /> |
| 21 | |
| 22 | ## Overview |
| 23 | |
| 24 | Kernel Samepage Merging (KSM) is a memory-saving feature in Linux that enables the kernel to examine the |
| 25 | memory of different processes and identify identical pages. It then merges these identical pages into a |
| 26 | single page that the processes share. This is particularly useful for virtualization, where multiple virtual |
| 27 | machines might be running the same operating system or applications and have many identical pages. |
| 28 | |
| 29 | The collector provides information about the operation and effectiveness of KSM on your system. |
| 30 | |
| 31 | |
| 32 | |
| 33 | |
| 34 | This collector is supported on all platforms. |
| 35 | |
| 36 | This collector only supports collecting metrics from a single instance of this integration. |
| 37 | |
| 38 | |
| 39 | ### Default Behavior |
| 40 | |
| 41 | #### Auto-Detection |
| 42 | |
| 43 | This integration doesn't support auto-detection. |
| 44 | |
| 45 | #### Limits |
| 46 | |
| 47 | The default configuration for this integration does not impose any limits on data collection. |
| 48 | |
| 49 | #### Performance Impact |
| 50 | |
| 51 | The default configuration for this integration is not expected to impose a significant performance impact on the system. |
| 52 | |
| 53 | ## Setup |
| 54 | |
| 55 | |
| 56 | ### Prerequisites |
| 57 | |
| 58 | No action required. |
| 59 | |
| 60 | ### Configuration |
| 61 | |
| 62 | #### Options |
| 63 | |
| 64 | |
| 65 | |
| 66 | There are no configuration options. |
| 67 | |
| 68 | |
| 69 | |
| 70 | #### via File |
| 71 | |
| 72 | There is no configuration file. |
| 73 | |
| 74 | ##### Examples |
| 75 | There are no configuration examples. |
| 76 | |
| 77 | |
| 78 | |
| 79 | ## Alerts |
| 80 | |
| 81 | There are no alerts configured by default for this integration. |
| 82 | |
| 83 | |
| 84 | ## Metrics |
| 85 | |
| 86 | Metrics grouped by *scope*. |
| 87 | |
| 88 | The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels. |
| 89 | |
| 90 | |
| 91 | |
| 92 | ### Per Kernel Same-Page Merging instance |
| 93 | |
| 94 | |
| 95 | |
| 96 | This scope has no labels. |
| 97 | |
| 98 | Metrics: |
| 99 | |
| 100 | | Metric | Dimensions | Unit | |
| 101 | |:------|:----------|:----| |
| 102 | | mem.ksm | shared, unshared, sharing, volatile | MiB | |
| 103 | | mem.ksm_savings | savings, offered | MiB | |
| 104 | | mem.ksm_ratios | savings | percentage | |
| 105 | |
| 106 |