lkml.org 
[lkml]   [2005]   [May]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: problem with mmap over nfs
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

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-05-06 13:59    [W:0.062 / U:0.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site