Project: Netdata (Observability and Analysis / Observability)
File: memory_usage.md

<!--startmeta customediturl: "https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/integrations/memory_usage.md" meta_yaml: "https://github.com/netdata/netdata/edit/master/src/collectors/proc.plugin/metadata.yaml" sidebar_label: "Memory Usage" learn_status: "Published" learnrelpath: "Collecting Metrics/Linux Systems/Memory" most_popular: False message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" endmeta--> <img src="https://netdata.cloud/img/linuxserver.svg" width="150"/> Plugin: proc.plugin Module: /proc/meminfo <img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" /> `/proc/meminfo` provides detailed information about the system's current memory usage. It includes information about different types of memory, RAM, Swap, ZSwap, HugePages, Transparent HugePages (THP), Kernel memory, SLAB memory, memory mappings, and more. Monitoring /proc/meminfo can be useful for: Performance Tuning: Understanding your system's memory usage can help you make decisions about system tuning and optimization. For example, if your system is frequently low on free memory, it might benefit from more RAM. Troubleshooting: If your system is experiencing problems, `/proc/meminfo` can provide clues about whether memory usage is a factor. For example, if your system is slow and cached swap is high, it could mean that your system is swapping out a lot of memory to disk, which can degrade performance. Capacity Planning: By monitoring memory usage over time, you can understand trends and make informed decisions about future capacity needs. This collector is supported on all platforms. This collector only supports collecting metrics from a single instance of this integration. This integration doesn't support auto-detection. The default configuration for this integration does not impose any limits on data collection. The default configuration for this integration is not expected to impose a significant performance impact on the system. Metrics grouped by scope. The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels. This scope has no labels. Metrics: | Metric | Dimensions | Unit | |:|:-|:-| | system.ram | free, used, cached, buffers | MiB | | mem.available | avail | MiB | | mem.swap | free, used | MiB | | mem.swap_cached | cached | MiB | | mem.zswap | in-ram, on-disk | MiB | | mem.hwcorrupt | HardwareCorrupted | MiB | | mem.commited | Commited_AS | MiB | | mem.writeback | Dirty, Writeback, FuseWriteback, NfsWriteback, Bounce | MiB | | mem.kernel | Slab, KernelStack, PageTables, VmallocUsed, Percpu | MiB | | mem.slab | reclaimable, unreclaimable | MiB | | mem.hugepages | free, used, surplus, reserved | MiB | | mem.thp | anonymous, shmem | MiB | | mem.thp_details | ShmemPmdMapped, FileHugePages, FilePmdMapped | MiB | | mem.reclaiming | Active, Inactive, Active(anon), Inactive(anon), Active(file), Inactive(file), Unevictable, Mlocked | MiB | | mem.highlow | highused, lowused, highfree, low_free | MiB | | mem.cma | used, free | MiB | | mem.directmaps | 4k, 2m, 4m, 1g | MiB | The following alerts are available: | Alert name | On metric | Description | |:|:-|:| | | system.ram | system memory utilization | | | mem.available | percentage of estimated amount of RAM available for userspace processes, without causing swapping | | | mem.swap | swap memory utilization | | | mem.hwcorrupt | amount of memory corrupted due to a hardware failure | No action required. There is no configuration file. There are no configuration options. There are no configuration examples.