• Fengguang Wu's avatar
    maps4: add proportional set size accounting in smaps · ec4dd3eb
    Fengguang Wu authored
    The "proportional set size" (PSS) of a process is the count of pages it has
    in memory, where each page is divided by the number of processes sharing
    it.  So if a process has 1000 pages all to itself, and 1000 shared with one
    other process, its PSS will be 1500.
    
                   - lwn.net: "ELC: How much memory are applications really using?"
    
    The PSS proposed by Matt Mackall is a very nice metic for measuring an
    process's memory footprint.  So collect and export it via
    /proc/<pid>/smaps.
    
    Matt Mackall's pagemap/kpagemap and John Berthels's exmap can also do the
    job.  They are comprehensive tools.  But for PSS, let's do it in the simple
    way.
    
    Cc: John Berthels <jjberthels@gmail.com>
    Cc: Bernardo Innocenti <bernie@codewiz.org>
    Cc: Padraig Brady <P@draigBrady.com>
    Cc: Denys Vlasenko <vda.linux@googlemail.com>
    Cc: Balbir Singh <balbir@linux.vnet.ibm.com>
    Signed-off-by: default avatarMatt Mackall <mpm@selenic.com>
    Signed-off-by: default avatarFengguang Wu <wfg@mail.ustc.edu.cn>
    Cc: Hugh Dickins <hugh@veritas.com>
    Cc: Dave Hansen <haveblue@us.ibm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    ec4dd3eb
task_mmu.c 14.1 KB