0% found this document useful (0 votes)
125 views3 pages

Example: $ Cat /proc/meminfo: Statistics Details

This document contains details about the statistics reported in the /proc/meminfo file in Linux. It describes various memory metrics such as total physical memory, free memory, memory usage of buffers, caches, swap space, dirty pages waiting to be written to disk, and memory allocated to processes. It also covers hugepages, which allow the Linux kernel to manage large pages of memory to improve performance for applications using large amounts of memory like databases.

Uploaded by

ETC
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
125 views3 pages

Example: $ Cat /proc/meminfo: Statistics Details

This document contains details about the statistics reported in the /proc/meminfo file in Linux. It describes various memory metrics such as total physical memory, free memory, memory usage of buffers, caches, swap space, dirty pages waiting to be written to disk, and memory allocated to processes. It also covers hugepages, which allow the Linux kernel to manage large pages of memory to improve performance for applications using large amounts of memory like databases.

Uploaded by

ETC
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Example:

~$ cat /proc/meminfo

Statistics details:

MemTotal: Total usable memory

MemFree: The amount of physical memory not used by the system

Buffers: Memory in buffer cache, so relatively temporary storage for raw disk blocks. This
shouldn't get very large.

Cached: Memory in the pagecache (Diskcache and Shared Memory)

SwapCached: Memory that is present within main memory, but also in the swapfile. (If memory is
needed this area does not need to be swapped out AGAIN because it is already in the swapfile. This
saves I/O and increases performance if machine runs short on memory.)

MemAvailable: An estimate of how much memory is available for starting new applications,
without swapping.

Active: Memory that has been used more recently and usually not swapped out or reclaimed

Inactive: Memory that has not been used recently and can be swapped out or reclaimed

Active(anon): Anonymous memory that has been used more recently and usually not swapped out

Inactive(anon): Anonymous memory that has not been used recently and can be swapped out

Active(file): Pagecache memory that has been used more recently and usually not reclaimed until
needed

Inactive(file): Pagecache memory that can be reclaimed without huge performance impact

Unevictable: Unevictable pages can't be swapped out for a variety of reasons

Mlocked: Pages locked to memory using the mlock() system call. Mlocked pages are also
Unevictable.

SwapTotal: Total swap space available

SwapFree: The remaining swap space available

Dirty: Memory waiting to be written back to disk

Writeback: Memory which is actively being written back to disk

AnonPages: Non-file backed pages mapped into userspace page tables


Mapped: Files which have been mmaped, such as libraries

Slab: In-kernel data structures cache

PageTables: Amount of memory dedicated to the lowest level of page tables. This can increase to a
high value if a lot of processes are attached to the same shared memory segment.
NFS_Unstable: NFS pages sent to the server, but not yet commited to the storage

Bounce: Memory used for block device bounce buffers

CommitLimit: Based on the overcommit ratio (vm.overcommit_ratio), this is the total amount of
memory currently available to be allocated on the system. This limit is only adhered to if strict
overcommit accounting is enabled (mode 2 in vm.overcommit_memory).

Committed_AS: The amount of memory presently allocated on the system. The committed memory
is a sum of all of the memory which has been allocated by processes, even if it has not been "used"
by them as of yet.

VmallocTotal: total size of vmalloc memory area

VmallocUsed: amount of vmalloc area which is used

VmallocChunk: largest contiguous block of vmalloc area which is free

HugePages_Total: Number of hugepages being allocated by the kernel (Defined with


vm.nr_hugepages)

HugePages_Free: The number of hugepages not being allocated by a process

HugePages_Rsvd: The number of hugepages for which a commitment to allocate from the pool has
been made, but no allocation has yet been made.

Hugepagesize: The size of a hugepage (usually 2MB on an Intel based system)

Shmem: Total used shared memory (shared between several processes, thus including RAM disks,
SYS-V-IPC and BSD like SHMEM)

SReclaimable: The part of the Slab that might be reclaimed (such as caches)

SUnreclaim: The part of the Slab that can't be reclaimed under memory pressure

KernelStack: The memory the kernel stack uses. This is not reclaimable.

WritebackTmp: Memory used by FUSE for temporary writeback buffers

HardwareCorrupted: The amount of RAM the kernel identified as corrupted / not working

AnonHugePages: Non-file backed huge pages mapped into userspace page tables

HugePages_Surp: The number of hugepages in the pool above the value in vm.nr_hugepages. The
maximum number of surplus hugepages is controlled by vm.nr_overcommit_hugepages.
DirectMap4k: The amount of memory being mapped to standard 4k pages

DirectMap2M: The amount of memory being mapped to hugepages (usually 2MB in size)

Note that: HugePages feature enables the Linux kernel to manage large pages of memory in
addition to the standard 4KB or 16KB page size. If you have a system with more than 16GB of
memory running databases with a total System Global Area (SGA) larger than 8GB, you should
enable the HugePages feature to improve database performance.

You might also like