On 10.05.22 17:28, Johannes Weiner wrote: > Add new entries. Minor corrections and cleanups. > > Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> > --- > Documentation/filesystems/proc.rst | 155 ++++++++++++++++++----------- > 1 file changed, 99 insertions(+), 56 deletions(-) > > diff --git a/Documentation/filesystems/proc.rst b/Documentation/filesystems/proc.rst > index 061744c436d9..736ed384750c 100644 > --- a/Documentation/filesystems/proc.rst > +++ b/Documentation/filesystems/proc.rst > @@ -942,56 +942,71 @@ can be substantial. In many cases there are other means to find out > additional memory using subsystem specific interfaces, for instance > /proc/net/sockstat for TCP memory allocations. > > -The following is from a 16GB PIII, which has highmem enabled. > -You may not have all of these fields. > +Example output. You may not have all of these fields. > > :: > > > cat /proc/meminfo > > - MemTotal: 16344972 kB > - MemFree: 13634064 kB > - MemAvailable: 14836172 kB > - Buffers: 3656 kB > - Cached: 1195708 kB > - SwapCached: 0 kB > - Active: 891636 kB > - Inactive: 1077224 kB > - HighTotal: 15597528 kB > - HighFree: 13629632 kB > - LowTotal: 747444 kB > - LowFree: 4432 kB > - SwapTotal: 0 kB > - SwapFree: 0 kB > - Dirty: 968 kB > - Writeback: 0 kB > - AnonPages: 861800 kB > - Mapped: 280372 kB > - Shmem: 644 kB > - KReclaimable: 168048 kB > - Slab: 284364 kB > - SReclaimable: 159856 kB > - SUnreclaim: 124508 kB > - PageTables: 24448 kB > - NFS_Unstable: 0 kB > - Bounce: 0 kB > - WritebackTmp: 0 kB > - CommitLimit: 7669796 kB > - Committed_AS: 100056 kB > - VmallocTotal: 112216 kB > - VmallocUsed: 428 kB > - VmallocChunk: 111088 kB > - Percpu: 62080 kB > - HardwareCorrupted: 0 kB > - AnonHugePages: 49152 kB > - ShmemHugePages: 0 kB > - ShmemPmdMapped: 0 kB > + MemTotal: 32858820 kB > + MemFree: 21001236 kB > + MemAvailable: 27214312 kB > + Buffers: 581092 kB > + Cached: 5587612 kB > + SwapCached: 0 kB > + Active: 3237152 kB > + Inactive: 7586256 kB > + Active(anon): 94064 kB > + Inactive(anon): 4570616 kB > + Active(file): 3143088 kB > + Inactive(file): 3015640 kB > + Unevictable: 0 kB > + Mlocked: 0 kB > + SwapTotal: 0 kB > + SwapFree: 0 kB > + Dirty: 12 kB > + Writeback: 0 kB > + AnonPages: 4654780 kB > + Mapped: 266244 kB > + Shmem: 9976 kB > + KReclaimable: 517708 kB > + Slab: 660044 kB > + SReclaimable: 517708 kB > + SUnreclaim: 142336 kB > + KernelStack: 11168 kB > + PageTables: 20540 kB > + NFS_Unstable: 0 kB > + Bounce: 0 kB > + WritebackTmp: 0 kB > + CommitLimit: 16429408 kB > + Committed_AS: 7715148 kB > + VmallocTotal: 34359738367 kB > + VmallocUsed: 40444 kB > + VmallocChunk: 0 kB > + Percpu: 29312 kB > + HardwareCorrupted: 0 kB > + AnonHugePages: 4149248 kB > + ShmemHugePages: 0 kB > + ShmemPmdMapped: 0 kB > + FileHugePages: 0 kB > + FilePmdMapped: 0 kB > + CmaTotal: 0 kB > + CmaFree: 0 kB > + HugePages_Total: 0 > + HugePages_Free: 0 > + HugePages_Rsvd: 0 > + HugePages_Surp: 0 > + Hugepagesize: 2048 kB > + Hugetlb: 0 kB > + DirectMap4k: 401152 kB > + DirectMap2M: 10008576 kB > + DirectMap1G: 24117248 kB > > MemTotal > Total usable RAM (i.e. physical RAM minus a few reserved > bits and the kernel binary code) > MemFree > - The sum of LowFree+HighFree > + Total free RAM. On highmem systems, the sum of LowFree+HighFree > MemAvailable > An estimate of how much memory is available for starting new > applications, without swapping. Calculated from MemFree, > @@ -1005,8 +1020,9 @@ Buffers > Relatively temporary storage for raw disk blocks > shouldn't get tremendously large (20MB or so) > Cached > - in-memory cache for files read from the disk (the > - pagecache). Doesn't include SwapCached > + In-memory cache for files read from the disk (the > + pagecache) as well as tmpfs & shmem. > + Doesn't include SwapCached. > SwapCached > Memory that once was swapped out, is swapped back in but > still also is in the swapfile (if memory is needed it > @@ -1018,6 +1034,11 @@ Active > Inactive > Memory which has been less recently used. It is more > eligible to be reclaimed for other purposes > +Unevictable > + Memory that cannot be reclaimed, such as mlocked pages, > + ramfs backing pages, secret memfd pages etc. A little imprecise, because this only includes memory to be mapped into user space. For example, all kernel allocations are unevictable but not accounted here. Apart from that Acked-by: David Hildenbrand <david@xxxxxxxxxx> -- Thanks, David / dhildenb