Reading via mmap stinks (Re: weird bugs with mmap-ing via NFS)
Peter Jeremy
peterjeremy at optushome.com.au
Sat Mar 25 09:42:46 UTC 2006
On Fri, 2006-Mar-24 10:00:20 -0800, Matthew Dillon wrote:
> Ok. The next test is to NOT do umount/remount and then use a data set
> that is ~2x system memory (but can still be mmap'd by grep). Rerun
> the data set multiple times using grep and grep --mmap.
The results here are weird. With 1GB RAM and a 2GB dataset, the
timings seem to depend on the sequence of operations: reading is
significantly faster, but only when the data was mmap'd previously
There's one outlier that I can't easily explain.
hw.physmem: 932249600
hw.usermem: 815050752
+ ls -l /6_i386/var/tmp/test
-rw-r--r-- 1 peter wheel 2052167894 Mar 25 05:44 /6_i386/var/tmp/test
+ /usr/bin/time -l grep dfhfhdsfhjdsfl /6_i386/var/tmp/test
+ /usr/bin/time -l grep --mmap dfhfhdsfhjdsfl /6_i386/var/tmp/test
This was done in multi-user on a VTY using a script. X was running
(and I forgot to kill an xclock) but there shouldn't have been anything
else happening.
grep --mmap followed by grep --mmap:
mm 77.94 real 1.65 user 2.08 sys
mm 78.22 real 1.53 user 2.21 sys
mm 78.34 real 1.55 user 2.21 sys
mm 79.33 real 1.48 user 2.37 sys
grep --mmap followed by grep/read
mr 56.64 real 0.77 user 2.45 sys
mr 56.73 real 0.67 user 2.53 sys
mr 56.86 real 0.68 user 2.60 sys
mr 57.64 real 0.64 user 2.63 sys
mr 57.71 real 0.62 user 2.68 sys
mr 58.04 real 0.63 user 2.59 sys
mr 58.83 real 0.78 user 2.50 sys
mr 59.15 real 0.74 user 2.50 sys
grep/read followed by grep --mmap
rm 75.98 real 1.56 user 2.19 sys
rm 76.06 real 1.50 user 2.29 sys
rm 76.50 real 1.40 user 2.38 sys
rm 77.35 real 1.47 user 2.30 sys
rm 77.49 real 1.39 user 2.44 sys
rm 79.14 real 1.56 user 2.19 sys
rm 88.88 real 1.57 user 2.27 sys
grep/read followed by grep/read
rr 78.00 real 0.69 user 2.74 sys
rr 78.34 real 0.67 user 2.74 sys
rr 79.64 real 0.69 user 2.71 sys
rr 79.69 real 0.73 user 2.75 sys
> free and cache pages. The system would only be allocating ~60MB/s
> (or whatever your disk can do), so the pageout thread ought to be able
> to keep up.
This is a laptop so the disk can only manage a bit over 25 MB/sec.
--
Peter Jeremy
More information about the freebsd-stable
mailing list