From: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
To: akpm@linux-foundation.org
Cc: sergey.senozhatsky@gmail.com, mm-commits@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: + doc-slub-document-slabinfo-gnuplotsh-script.patch added to -mm tree
Date: Fri, 23 Oct 2015 13:20:17 +0900 [thread overview]
Message-ID: <20151023042017.GC1823@swordfish> (raw)
In-Reply-To: <56294552.F7AJmxJAyzbFCrE+%akpm@linux-foundation.org>
On (10/22/15 13:21), akpm@linux-foundation.org wrote:
[..]
> ------------------------------------------------------
> From: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
> Subject: Doc/slub: document slabinfo-gnuplot.sh script
>
> Add documentation on how to use slabinfo-gnuplot.sh script.
>
> Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Oh, sent "Documentation/vm/slub.txt: document slabinfo-gnuplot.sh" patch
(addressed Christoph's comments) before I saw this message.
V2 message-id: 1445557905-9565-1-git-send-email-sergey.senozhatsky@gmail.com
Andrew, should I send an incremental update to this patch instead or you
will 'replace' it with the v2?
-ss
> ---
>
> Documentation/vm/slub.txt | 58 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 58 insertions(+)
>
> diff -puN Documentation/vm/slub.txt~doc-slub-document-slabinfo-gnuplotsh-script Documentation/vm/slub.txt
> --- a/Documentation/vm/slub.txt~doc-slub-document-slabinfo-gnuplotsh-script
> +++ a/Documentation/vm/slub.txt
> @@ -280,4 +280,62 @@ of other objects.
>
> slub_debug=FZ,dentry
>
> +Extended slabinfo mode and plotting
> +-----------------------------------
> +
> +slabinfo tool has a special 'extended' ('-X') mode that includes:
> + - Slabcache Totals
> + - Slabs sorted by size (up to -N <num> slabs, default 1)
> + - Slabs sorted by loss (up to -N <num> slabs, default 1)
> +
> +Additionally, in this mode slabinfo does not dynamically scale sizes (G/M/K)
> +and reports everything in bytes (this functionality is also available to
> +other slabinfo modes via '-B' option) which makes reporting more precise and
> +accurate. Moreover, in some sense the `-X' mode also simplifies the analysis
> +of slabs' behaviour, because its output can be plotted using the
> +slabinfo-gnuplot.sh script. So it pushes the analysis from looking through
> +the numbers (tons of numbers) to something easier -- visual analysis.
> +
> +To generate plots:
> +a) collect slabinfo extended records, for example:
> +
> + while [ 1 ]; do slabinfo -X >> FOO_STATS; sleep 1; done
> +
> +b) pass stats file(-s) to slabinfo-gnuplot.sh script:
> + slabinfo-gnuplot.sh FOO_STATS [FOO_STATS2 .. FOO_STATSN]
> +
> +The slabinfo-gnuplot.sh script will pre-processes the collected records
> +and generates 3 png files (and 3 pre-processing cache files) per STATS
> +file:
> + - Slabcache Totals: FOO_STATS-totals.png
> + - Slabs sorted by size: FOO_STATS-slabs-by-size.png
> + - Slabs sorted by loss: FOO_STATS-slabs-by-loss.png
> +
> +Another use case, when slabinfo-gnuplot can be useful, is when you need
> +to compare slabs' behaviour "prior to" and "after" some code modification.
> +To help you out there, slabinfo-gnuplot.sh script can 'merge' the
> +`Slabcache Totals` sections from different measurements. To visually
> +compare N plots:
> +
> +a) Collect as many STATS1, STATS2, .. STATSN files as you need
> + while [ 1 ]; do slabinfo -X >> STATS<X>; sleep 1; done
> +
> +b) Pre-process those STATS files
> + slabinfo-gnuplot.sh STATS1 STATS2 .. STATSN
> +
> +c) Execute slabinfo-gnuplot.sh in '-t' mode, passing all of the
> +generated pre-processed *-totals
> + slabinfo-gnuplot.sh -t STATS1-totals STATS2-totals .. STATSN-totals
> +
> +This will produce a single plot (png file).
> +
> +Plots, expectedly, can be large so some fluctuations or small spikes
> +can go unnoticed. To deal with that, `slabinfo-gnuplot.sh' has two
> +options to 'zoom-in'/'zoom-out':
> + a) -s %d,%d overwrites the default image width and heigh
> + b) -r %d,%d specifies a range of samples to use (for example,
> + in `slabinfo -X >> FOO_STATS; sleep 1;' case, using
> + a "-r 40,60" range will plot only samples collected
> + between 40th and 60th seconds).
> +
> Christoph Lameter, May 30, 2007
> _
>
> Patches currently in -mm which might be from sergey.senozhatsky@gmail.com are
>
> maintainers-add-myself-as-zsmalloc-reviewer.patch
> tools-vm-slabinfo-use-getopt-no_argument-optional_argument.patch
> tools-vm-slabinfo-limit-the-number-of-reported-slabs.patch
> tools-vm-slabinfo-sort-slabs-by-loss.patch
> tools-vm-slabinfo-fix-alternate-opts-names.patch
> tools-vm-slabinfo-introduce-extended-totals-mode.patch
> tools-vm-slabinfo-output-sizes-in-bytes.patch
> tools-vm-slabinfo-cosmetic-globals-cleanup.patch
> tools-vm-slabinfo-gnuplot-slabifo-extended-stat.patch
> doc-slub-document-slabinfo-gnuplotsh-script.patch
> zram-keep-the-exact-overcommited-value-in-mem_used_max.patch
> mm-zsmalloc-constify-struct-zs_pool-name.patch
> zsmalloc-use-preempth-for-in_interrupt.patch
>
> --
> To unsubscribe from this list: send the line "unsubscribe mm-commits" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
prev parent reply other threads:[~2015-10-23 4:19 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-22 20:21 + doc-slub-document-slabinfo-gnuplotsh-script.patch added to -mm tree akpm
2015-10-23 4:20 ` Sergey Senozhatsky [this message]
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=20151023042017.GC1823@swordfish \
--to=sergey.senozhatsky.work@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mm-commits@vger.kernel.org \
--cc=sergey.senozhatsky@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.