From: Andrew Morton <akpm@osdl.org>
To: Fabio Brugnara <brugnara@itc.it>
Cc: linux-kernel@vger.kernel.org
Subject: Re: problem with mmap over nfs
Date: Fri, 6 May 2005 04:54:46 -0700 [thread overview]
Message-ID: <20050506045446.1deba35d.akpm@osdl.org> (raw)
In-Reply-To: <20050506095023.GS9742@maestoso.itc.it>
Fabio Brugnara <brugnara@itc.it> wrote:
>
> The problem is related to the use of memory mapped files over a nfs
> mounted filesystem. In a rather complex system (speech recognition) that we
> developed and use, we need to share large read-only data structures between
> different processes, also on several machines. Until a few months ago, we
> observed that it was perfectly adequate to just mmap() a file residing on a
> particular disk, that machines other as the owner mounted via nfs. This was
> very convenient, as we had only a single physical copy of the data
> structure, and it did not introduce any significant performance penalty. We
> have used this method for years.
> Now, after the machines have been upgraded to kernel 2.6.10 from
> kernel 2.4.20, something disappointing happens. Everything still works
> correctly, but somehow it introduces a massive slowdown of the machines.
> While the processes are running, the machines that map the shared file via
> nfs (not the one that owns it) report (with "top") a very high usage of
> system time (e.g. 50% or more), and also become very unresponsive at the
> shell prompt.
Could you please generate a kernel profile?
- Compile with CONFIG_PROFILING
- Start the workload, wait for steady state.
- As root, run:
#!/bin/sh
SM=/boot/System.map
TIMEFILE=/tmp/prof.time
readprofile -r
sleep 10
readprofile -n -v -m $SM | sort -n +2 | tail -40 | tee $TIMEFILE >&2
(make sure that /boot/System.map is from the currently-running kernel)
More in Documentation/basic_profiling.txt
Even better, learn to drive oprofile. Once it's running properly I usually
use this silly script:
#!/bin/sh
opcontrol --stop
opcontrol --shutdown
rm -rf /var/lib/oprofile
opcontrol --vmlinux=/boot/vmlinux-$(uname -r)
opcontrol --start-daemon
opcontrol --start
sleep 10
opcontrol --stop
opcontrol --shutdown
opreport -l /boot/vmlinux-$(uname -r) | head -50
next prev parent reply other threads:[~2005-05-06 11:55 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-06 9:50 Fabio Brugnara
2005-05-06 11:54 ` Andrew Morton [this message]
2005-05-06 12:20 ` Fabio Brugnara
2005-05-12 8:00 ` Fabio Brugnara
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=20050506045446.1deba35d.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=brugnara@itc.it \
--cc=linux-kernel@vger.kernel.org \
/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
all inboxes | Powered by JetHome®