From: Marc Singer <elf@buici.com>
To: Andrew Morton <akpm@osdl.org>
Cc: Marc Singer <elf@buici.com>,
wli@holomorphy.com, linux-kernel@vger.kernel.org
Subject: Re: vmscan.c heuristic adjustment for smaller systems
Date: Sat, 17 Apr 2004 23:15:29 -0700 [thread overview]
Message-ID: <20040418061529.GF19595@flea> (raw)
In-Reply-To: <20040417225243.0faa6fc4.akpm@osdl.org>
On Sat, Apr 17, 2004 at 10:52:43PM -0700, Andrew Morton wrote:
> Well some more descriptions of what the system does after that copy-to-nfs
> would help. Does it _ever_ come good, or is a reboot needed, etc?
As far as I can tell, it never gets good. I run the same ls command
over and over. Ten times. Always the same behavior. Sometimes it
gets even slower. I can set swappiness to zero and it responds
normally, immediately.
> What does `vmstat 1' say during the copy, and during the ls?
I thought I sent a message about this. I've found that the problem
*only* occurs when there is exactly one process running. If I open a
second console (via telnet) then the slow-down behavior disappears.
If I logout of the console session and run the tests from the telnet
session then I *do* see the problem again.
> /proc/vmstats before and after the ls.
This one I can do.
BEFORE
nr_dirty 0
nr_writeback 0
nr_unstable 0
nr_page_table_pages 49
nr_mapped 163
nr_slab 255
pgpgin 4
pgpgout 0
pswpin 0
pswpout 0
pgalloc_high 0
pgalloc_normal 0
pgalloc_dma 78568
pgfree 79274
pgactivate 8428
pgdeactivate 8324
pgfault 17112
pgmajfault 1348
pgrefill_high 0
pgrefill_normal 0
pgrefill_dma 543296
pgsteal_high 0
pgsteal_normal 0
pgsteal_dma 60834
pgscan_kswapd_high 0
pgscan_kswapd_normal 0
pgscan_kswapd_dma 189700
pgscan_direct_high 0
pgscan_direct_normal 0
pgscan_direct_dma 31746
pginodesteal 0
slabs_scanned 1586
kswapd_steal 30907
kswapd_inodesteal 0
pageoutrun 77994
allocstall 82
pgrotated 0
ls -l /proc runs slowly.
AFTER
nr_dirty 0
nr_writeback 0
nr_unstable 0
nr_page_table_pages 49
nr_mapped 164
nr_slab 225
pgpgin 4
pgpgout 0
pswpin 0
pswpout 0
pgalloc_high 0
pgalloc_normal 0
pgalloc_dma 85378
pgfree 86106
pgactivate 11759
pgdeactivate 11650
pgfault 21293
pgmajfault 2316
pgrefill_high 0
pgrefill_normal 0
pgrefill_dma 616785
pgsteal_high 0
pgsteal_normal 0
pgsteal_dma 67511
pgscan_kswapd_high 0
pgscan_kswapd_normal 0
pgscan_kswapd_dma 200241
pgscan_direct_high 0
pgscan_direct_normal 0
pgscan_direct_dma 31746
pginodesteal 0
slabs_scanned 1586
kswapd_steal 37584
kswapd_inodesteal 0
pageoutrun 78405
allocstall 82
pgrotated 0
ls -l still slow.
Anything interesting?
> Try doing the copy, then when it has finished do the old
> memset(malloc(24M)) and monitor the `vmstat 1' output while it runs,
> capture /proc/meminfo before and after.
Here's the meminfo version of the same test above.
BEFORE
MemTotal: 30256 kB
MemFree: 3312 kB
Buffers: 0 kB
Cached: 24512 kB
SwapCached: 0 kB
Active: 732 kB
Inactive: 24084 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 30256 kB
LowFree: 3312 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
Mapped: 700 kB
Slab: 1024 kB
Committed_AS: 476 kB
PageTables: 196 kB
VmallocTotal: 434176 kB
VmallocUsed: 65924 kB
VmallocChunk: 368252 kB
ls -l runs slowly
AFTER
MemTotal: 30256 kB
MemFree: 3420 kB
Buffers: 0 kB
Cached: 24448 kB
SwapCached: 0 kB
Active: 772 kB
Inactive: 23984 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 30256 kB
LowFree: 3420 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
Mapped: 692 kB
Slab: 964 kB
Committed_AS: 476 kB
PageTables: 196 kB
VmallocTotal: 434176 kB
VmallocUsed: 65924 kB
VmallocChunk: 368252 kB
ls -l still runs slowly.
The copy w/vmstat involves two processes. It doesn't exhibit the
problems.
> None of the problems you report are present on x86 as far as I can tell,
> so...
I don't expect you would. Are you confident that this doesn't happen
on a 386 NFS root mounted system in single-user mode? I don't have an
IA32 system where I can test this scenario.
next prev parent reply other threads:[~2004-04-18 6:15 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-17 19:38 vmscan.c heuristic adjustment for smaller systems William Lee Irwin III
2004-04-17 21:29 ` Marc Singer
2004-04-17 21:33 ` William Lee Irwin III
2004-04-17 21:52 ` Marc Singer
2004-04-18 1:06 ` William Lee Irwin III
2004-04-18 5:05 ` Marc Singer
2004-04-17 23:21 ` Andrew Morton
2004-04-17 23:30 ` Marc Singer
2004-04-17 23:51 ` Andrew Morton
2004-04-18 0:11 ` Trond Myklebust
2004-04-18 0:23 ` Marc Singer
2004-04-18 3:37 ` Nick Piggin
2004-04-18 4:17 ` William Lee Irwin III
2004-04-18 4:41 ` Nick Piggin
2004-04-18 5:10 ` Marc Singer
2004-04-18 5:19 ` Nick Piggin
2004-04-18 5:35 ` Marc Singer
2004-04-18 5:41 ` Nick Piggin
2004-04-18 23:44 ` Marc Singer
2004-04-18 9:29 ` Russell King
2004-04-18 1:59 ` William Lee Irwin III
2004-04-18 3:53 ` Andrew Morton
2004-04-18 5:38 ` Marc Singer
2004-04-18 5:52 ` Andrew Morton
2004-04-18 6:15 ` Marc Singer [this message]
2004-04-19 0:26 ` Rik van Riel
2004-04-19 0:39 ` Marc Singer
-- strict thread matches above, loose matches on Subject: below --
2004-04-18 17:48 Marc Singer
[not found] <20040418174743.GC28744@flea>
[not found] ` <20040418175324.GB743@holomorphy.com>
2004-04-18 18:06 ` Marc Singer
2004-04-18 19:05 ` William Lee Irwin III
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=20040418061529.GF19595@flea \
--to=elf@buici.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=wli@holomorphy.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.