lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 11 May 2022 14:51:25 -0400
From:   Johannes Weiner <hannes@...xchg.org>
To:     David Hildenbrand <david@...hat.com>
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 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?

> Apart from that
> 
> Acked-by: David Hildenbrand <david@...hat.com>

Thanks!

Signed-off-by: Johannes Weiner <hannes@...xchg.org>
---

diff --git a/Documentation/filesystems/proc.rst b/Documentation/filesystems/proc.rst
index 9749ff8c0ecf..5e9791457876 100644
--- a/Documentation/filesystems/proc.rst
+++ b/Documentation/filesystems/proc.rst
@@ -1035,8 +1035,8 @@ 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.
+              Memory allocated for userspace which cannot be reclaimed, such
+              as mlocked pages, ramfs backing pages, secret memfd pages etc.
 Mlocked
               Memory locked with mlock().
 HighTotal, HighFree

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ