[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2f7b7320-6899-93a0-420c-523d53363f58@redhat.com>
Date: Thu, 12 May 2022 10:55:45 +0200
From: David Hildenbrand <david@...hat.com>
To: Johannes Weiner <hannes@...xchg.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Michal Hocko <mhocko@...e.com>, Roman Gushchin <guro@...com>,
Shakeel Butt <shakeelb@...gle.com>,
Seth Jennings <sjenning@...hat.com>,
Dan Streetman <ddstreet@...e.org>,
Minchan Kim <minchan@...nel.org>, linux-mm@...ck.org,
cgroups@...r.kernel.org, linux-kernel@...r.kernel.org,
kernel-team@...com
Subject: Re: [PATCH v2 1/6] Documentation: filesystems: proc: update meminfo
section
On 11.05.22 20:51, Johannes Weiner wrote:
> On Wed, May 11, 2022 at 07:11:06PM +0200, David Hildenbrand wrote:
>> On 10.05.22 17:28, Johannes Weiner wrote:
>>> Add new entries. Minor corrections and cleanups.
>>>
>>> Signed-off-by: Johannes Weiner <hannes@...xchg.org>
>>> ---
>>> 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.
>
> True. How about the below?
Sounds good, thanks!
--
Thanks,
David / dhildenb
Powered by blists - more mailing lists