man > proc_meminfo(5)

proc_meminfo(5)                          File Formats Manual                         proc_meminfo(5)

NAME
       /proc/meminfo - memory usage

DESCRIPTION
       /proc/meminfo
              This  file reports statistics about memory usage on the system.  It is used by free(1)
              to report the amount of free and used memory (both physical and swap) on the system as
              well as the shared memory and buffers used by the kernel.  Each line of the file  con‐
              sists of a parameter name, followed by a colon, the value of the parameter, and an op‐
              tion  unit  of measurement (e.g., "kB").  The list below describes the parameter names
              and the format specifier required to read the field value.  Except as noted below, all
              of the fields have been present since at least Linux 2.6.0.  Some fields are displayed
              only if the kernel was configured with various options; those dependencies  are  noted
              in the list.

              MemTotal %lu
                     Total  usable  RAM (i.e., physical RAM minus a few reserved bits and the kernel
                     binary code).

              MemFree %lu
                     The sum of LowFree+HighFree.

              MemAvailable %lu (since Linux 3.14)
                     An estimate of how much memory is  available  for  starting  new  applications,
                     without swapping.

              Buffers %lu
                     Relatively  temporary  storage  for  raw disk blocks that shouldn't get tremen‐
                     dously large (20 MB or so).

              Cached %lu
                     In-memory cache for files read from the disk (the page cache).  Doesn't include
                     SwapCached.

              SwapCached %lu
                     Memory that once was swapped out, is swapped back in but still also is  in  the
                     swap  file.   (If memory pressure is high, these pages don't need to be swapped
                     out again because they are already in the swap file.  This saves I/O.)

              Active %lu
                     Memory that has been used more recently and usually not  reclaimed  unless  ab‐
                     solutely necessary.

              Inactive %lu
                     Memory  which has been less recently used.  It is more eligible to be reclaimed
                     for other purposes.

              Active(anon) %lu (since Linux 2.6.28)
                     [To be documented.]

              Inactive(anon) %lu (since Linux 2.6.28)
                     [To be documented.]

              Active(file) %lu (since Linux 2.6.28)
                     [To be documented.]

              Inactive(file) %lu (since Linux 2.6.28)
                     [To be documented.]

              Unevictable %lu (since Linux 2.6.28)
                     (From Linux 2.6.28 to Linux 2.6.30, CONFIG_UNEVICTABLE_LRU was required.)   [To
                     be documented.]

              Mlocked %lu (since Linux 2.6.28)
                     (From  Linux 2.6.28 to Linux 2.6.30, CONFIG_UNEVICTABLE_LRU was required.)  [To
                     be documented.]

              HighTotal %lu
                     (Starting with Linux 2.6.19, CONFIG_HIGHMEM  is  required.)   Total  amount  of
                     highmem.   Highmem is all memory above ~860 MB of physical memory.  Highmem ar‐
                     eas are for use by user-space programs, or for the page cache.  The kernel must
                     use tricks to access this memory, making it slower to access than lowmem.

              HighFree %lu
                     (Starting with Linux 2.6.19, CONFIG_HIGHMEM is required.)  Amount of free high‐
                     mem.

              LowTotal %lu
                     (Starting with Linux 2.6.19, CONFIG_HIGHMEM  is  required.)   Total  amount  of
                     lowmem.   Lowmem is memory which can be used for everything that highmem can be
                     used for, but it is also available for the kernel's use for its own data struc‐
                     tures.  Among many other things, it is where everything from Slab is allocated.
                     Bad things happen when you're out of lowmem.

              LowFree %lu
                     (Starting with Linux 2.6.19,  CONFIG_HIGHMEM  is  required.)   Amount  of  free
                     lowmem.

              MmapCopy %lu (since Linux 2.6.29)
                     (CONFIG_MMU is required.)  [To be documented.]

              SwapTotal %lu
                     Total amount of swap space available.

              SwapFree %lu
                     Amount of swap space that is currently unused.

              Dirty %lu
                     Memory which is waiting to get written back to the disk.

              Writeback %lu
                     Memory which is actively being written back to the disk.

              AnonPages %lu (since Linux 2.6.18)
                     Non-file backed pages mapped into user-space page tables.

              Mapped %lu
                     Files which have been mapped into memory (with mmap(2)), such as libraries.

              Shmem %lu (since Linux 2.6.32)
                     Amount of memory consumed in tmpfs(5) filesystems.

              KReclaimable %lu (since Linux 4.20)
                     Kernel  allocations  that the kernel will attempt to reclaim under memory pres‐
                     sure.  Includes SReclaimable (below),  and  other  direct  allocations  with  a
                     shrinker.

              Slab %lu
                     In-kernel data structures cache.  (See slabinfo(5).)

              SReclaimable %lu (since Linux 2.6.19)
                     Part of Slab, that might be reclaimed, such as caches.

              SUnreclaim %lu (since Linux 2.6.19)
                     Part of Slab, that cannot be reclaimed on memory pressure.

              KernelStack %lu (since Linux 2.6.32)
                     Amount of memory allocated to kernel stacks.

              PageTables %lu (since Linux 2.6.18)
                     Amount of memory dedicated to the lowest level of page tables.

              Quicklists %lu (since Linux 2.6.27)
                     (CONFIG_QUICKLIST is required.)  [To be documented.]

              NFS_Unstable %lu (since Linux 2.6.18)
                     NFS pages sent to the server, but not yet committed to stable storage.

              Bounce %lu (since Linux 2.6.18)
                     Memory used for block device "bounce buffers".

              WritebackTmp %lu (since Linux 2.6.26)
                     Memory used by FUSE for temporary writeback buffers.

              CommitLimit %lu (since Linux 2.6.10)
                     This  is  the total amount of memory currently available to be allocated on the
                     system, expressed in kilobytes.  This limit is adhered to only if strict  over‐
                     commit  accounting  is enabled (mode 2 in /proc/sys/vm/overcommit_memory).  The
                     limit is calculated according to the formula described under /proc/sys/vm/over‐
                     commit_memory.  For further details, see  the  kernel  source  file  Documenta‐
                     tion/vm/overcommit-accounting.rst.

              Committed_AS %lu
                     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.  A process which allocates 1 GB of  mem‐
                     ory  (using  malloc(3) or similar), but touches only 300 MB of that memory will
                     show up as using only 300 MB of memory even if it has the address  space  allo‐
                     cated for the entire 1 GB.

                     This  1 GB is memory which has been "committed" to by the VM and can be used at
                     any time by the allocating application.  With strict overcommit enabled on  the
                     system  (mode 2 in /proc/sys/vm/overcommit_memory), allocations which would ex‐
                     ceed the CommitLimit will not be permitted.  This is useful  if  one  needs  to
                     guarantee  that  processes will not fail due to lack of memory once that memory
                     has been successfully allocated.

              VmallocTotal %lu
                     Total size of vmalloc memory area.

              VmallocUsed %lu
                     Amount of vmalloc area which is used.  Since Linux 4.4, this field is no longer
                     calculated, and is hard coded as 0.  See /proc/vmallocinfo.

              VmallocChunk %lu
                     Largest contiguous block of vmalloc area which is free.  Since Linux 4.4,  this
                     field is no longer calculated and is hard coded as 0.  See /proc/vmallocinfo.

              HardwareCorrupted %lu (since Linux 2.6.32)
                     (CONFIG_MEMORY_FAILURE is required.)  [To be documented.]

              LazyFree %lu (since Linux 4.12)
                     Shows the amount of memory marked by madvise(2) MADV_FREE.

              AnonHugePages %lu (since Linux 2.6.38)
                     (CONFIG_TRANSPARENT_HUGEPAGE  is  required.)  Non-file backed huge pages mapped
                     into user-space page tables.

              ShmemHugePages %lu (since Linux 4.8)
                     (CONFIG_TRANSPARENT_HUGEPAGE  is  required.)   Memory  used  by  shared  memory
                     (shmem) and tmpfs(5) allocated with huge pages.

              ShmemPmdMapped %lu (since Linux 4.8)
                     (CONFIG_TRANSPARENT_HUGEPAGE  is  required.)   Shared  memory  mapped into user
                     space with huge pages.

              CmaTotal %lu (since Linux 3.1)
                     Total CMA (Contiguous Memory Allocator) pages.  (CONFIG_CMA is required.)

              CmaFree %lu (since Linux 3.1)
                     Free CMA (Contiguous Memory Allocator) pages.  (CONFIG_CMA is required.)

              HugePages_Total %lu
                     (CONFIG_HUGETLB_PAGE is required.)  The size of the pool of huge pages.

              HugePages_Free %lu
                     (CONFIG_HUGETLB_PAGE is required.)  The number of huge pages in the  pool  that
                     are not yet allocated.

              HugePages_Rsvd %lu (since Linux 2.6.17)
                     (CONFIG_HUGETLB_PAGE  is required.)  This is the number of huge pages for which
                     a commitment to allocate from the pool has been made, but no allocation has yet
                     been made.  These reserved huge pages guarantee that  an  application  will  be
                     able to allocate a huge page from the pool of huge pages at fault time.

              HugePages_Surp %lu (since Linux 2.6.24)
                     (CONFIG_HUGETLB_PAGE  is  required.)   This  is the number of huge pages in the
                     pool above the value in /proc/sys/vm/nr_hugepages.  The maximum number of  sur‐
                     plus huge pages is controlled by /proc/sys/vm/nr_overcommit_hugepages.

              Hugepagesize %lu
                     (CONFIG_HUGETLB_PAGE is required.)  The size of huge pages.

              DirectMap4k %lu (since Linux 2.6.27)
                     Number of bytes of RAM linearly mapped by kernel in 4 kB pages.  (x86.)

              DirectMap4M %lu (since Linux 2.6.27)
                     Number of bytes of RAM linearly mapped by kernel in 4 MB pages.  (x86 with CON‐
                     FIG_X86_64 or CONFIG_X86_PAE enabled.)

              DirectMap2M %lu (since Linux 2.6.27)
                     Number of bytes of RAM linearly mapped by kernel in 2 MB pages.  (x86 with nei‐
                     ther CONFIG_X86_64 nor CONFIG_X86_PAE enabled.)

              DirectMap1G %lu (since Linux 2.6.27)
                     (x86 with CONFIG_X86_64 and CONFIG_X86_DIRECT_GBPAGES enabled.)

SEE ALSO
       proc(5)

Linux man-pages 6.7                          2023-08-15                              proc_meminfo(5)
proc_meminfo(5) □✕
NAME DESCRIPTION SEE ALSO

Generated by phpman v4.11.2-35-gf98a251 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-10-07 13:10 @216.73.217.162
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 Transitional!Valid CSS!

^_top_^