Skip to main content

Memory Usage

Plugin: proc.plugin Module: /proc/meminfo

Overview

/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.

Default Behavior

Auto-Detection

This integration doesn't support auto-detection.

Limits

The default configuration for this integration does not impose any limits on data collection.

Performance Impact

The default configuration for this integration is not expected to impose a significant performance impact on the system.

Setup

Prerequisites

No action required.

Configuration

Options

There are no configuration options.

via File

There is no configuration file.

Examples

There are no configuration examples.

Alerts

The following alerts are available:

Alert nameOn metricDescription
ram_in_use system.ramsystem memory utilization
ram_available mem.availablepercentage of estimated amount of RAM available for userspace processes, without causing swapping
used_swap mem.swapswap memory utilization
1hour_memory_hw_corrupted mem.hwcorruptamount of memory corrupted due to a hardware failure

Metrics

Metrics grouped by scope.

The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.

Per Memory Usage instance

This scope has no labels.

Metrics:

MetricDescriptionDimensionsUnit
system.ramSystem RAMfree, used, cached, buffersMiB
mem.availableAvailable RAM for applicationsavailMiB
mem.swapSystem Swapfree, usedMiB
mem.swap_cachedSwap Memory Cached in RAMcachedMiB
mem.zswapZswap Usagein-ram, on-diskMiB
mem.hwcorruptCorrupted Memory detected by ECCHardwareCorruptedMiB
mem.commitedCommitted (Allocated) MemoryCommited_ASMiB
mem.writebackWriteback MemoryDirty, Writeback, FuseWriteback, NfsWriteback, BounceMiB
mem.kernelMemory Used by KernelSlab, KernelStack, PageTables, VmallocUsed, PercpuMiB
mem.slabReclaimable Kernel Memoryreclaimable, unreclaimableMiB
mem.hugepagesDedicated HugePages Memoryfree, used, surplus, reservedMiB
mem.thpTransparent HugePages Memoryanonymous, shmemMiB
mem.thp_detailsDetails of Transparent HugePages UsageShmemPmdMapped, FileHugePages, FilePmdMappedMiB
mem.reclaimingMemory ReclaimingActive, Inactive, Active(anon), Inactive(anon), Active(file), Inactive(file), Unevictable, MlockedMiB
mem.high_lowHigh and Low Used and Free Memory Areashigh_used, low_used, high_free, low_freeMiB
mem.cmaContiguous Memory Allocator (CMA) Memoryused, freeMiB
mem.directmapsDirect Memory Mappings4k, 2m, 4m, 1gMiB

Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.