From: Matt Mackall <mpm@selenic.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Fengguang Wu <wfg@mail.ustc.edu.cn>,
John Berthels <jjberthels@gmail.com>,
Balbir Singh <balbir@linux.vnet.ibm.com>,
Denys Vlasenko <vda.linux@googlemail.com>,
Linux Memory Management List <linux-mm@kvack.org>
Subject: Re: [PATCH][RESEND] maps: PSS(proportional set size) accounting in smaps
Date: Mon, 17 Sep 2007 11:10:28 -0500 [thread overview]
Message-ID: <20070917161027.GY4219@waste.org> (raw)
In-Reply-To: <20070916235120.713c6102.akpm@linux-foundation.org>
On Sun, Sep 16, 2007 at 11:51:20PM -0700, Andrew Morton wrote:
> On Mon, 17 Sep 2007 10:40:54 +0800 Fengguang Wu <wfg@mail.ustc.edu.cn> wrote:
>
> > 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.
>
> right. I'm rather reluctant to merge anything which could have been done from
> userspace via the maps2 interfaces.
It can be done via maps2, but it's considerably less efficient. So if
this particular metric is a useful one, we ought to consider putting
it in-kernel.
Now is this PSS metric that useful? I'd argue yes. By comparison, the
RSS and VSS numbers are of basically no help in answering the most
common question about memory usage: "how much memory is my process
actually using?" Most people fall back to RSS and a bunch of
hand-waving, but that tends to fall over because typically sum(RSS) >
available RAM (sometimes by an order of magnitude), leaving users
completely confused. This was perhaps the biggest complaint from one
of the people on the Kernel Summit user panel, by the way. The PSS
numbers always sum to used RAM and give a fairly intuitive accounting
of shared mappings.
The big downside to PSS is that it's expensive to track. We have to
either visit each page when we report the count or we have to update
each PSS counter when we change the use count on a shared page. There
might be some tricks we can pull here but RSS and VSS, on the other
hand, are effectively O(1). An efficient in-kernel PSS calculator
might be a little painful if used in something like top(1), but the
map2 approach definitely won't be fast enough here.
Also, there's a second number we should be reporting at the same
time, which I've been calling USS (unique or unshared set size), which
is the size of the unshared pages. This is, for example, the amount of
memory that will get freed when you kill one of 20 Apache threads, or,
alternately, the amount of memory that adding another one will consume.
--
Mathematics is the supreme nostalgia of our time.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2007-09-17 16:10 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20070917024054.GA12036@mail.ustc.edu.cn>
2007-09-17 2:40 ` [PATCH][RESEND] maps: PSS(proportional set size) accounting in smaps Fengguang Wu
2007-09-17 6:51 ` Andrew Morton
2007-09-17 7:08 ` Userspace tools (was Re: [PATCH][RESEND] maps: PSS(proportional set size) accounting in smaps) Balbir Singh
2007-09-17 9:00 ` Christoph Hellwig
2007-09-17 9:11 ` Balbir Singh
2007-09-17 9:15 ` Christoph Hellwig
2007-09-17 12:29 ` Userspace tools Karel Zak
2007-09-17 9:13 ` Userspace tools (was Re: [PATCH][RESEND] maps: PSS(proportional set size) accounting in smaps) Andrew Morton
[not found] ` <20070917072136.GA5706@mail.ustc.edu.cn>
2007-09-17 7:21 ` [PATCH][RESEND] maps: PSS(proportional set size) accounting in smaps Fengguang Wu
2007-09-17 16:10 ` Matt Mackall [this message]
2007-09-17 17:49 ` Denys Vlasenko
2007-09-19 8:37 ` John Berthels
[not found] ` <20070919085625.GA5910@mail.ustc.edu.cn>
2007-09-19 8:56 ` Fengguang Wu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070917161027.GY4219@waste.org \
--to=mpm@selenic.com \
--cc=akpm@linux-foundation.org \
--cc=balbir@linux.vnet.ibm.com \
--cc=jjberthels@gmail.com \
--cc=linux-mm@kvack.org \
--cc=vda.linux@googlemail.com \
--cc=wfg@mail.ustc.edu.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).