Stability and Memory Pressure in 8.2
Gary C Martin
gary at garycmartin.com
Tue Sep 9 19:11:30 EDT 2008
On 9 Sep 2008, at 05:10, Michael Stone wrote:
> * We need to determine why we encounter low-memory and out-of-memory
> situations more frequently than in previous releases.
>
> - This means that we need to measure how our memory consumption
> profile has changed since our previous releases.
>
> (cscott observes that we were unable to attack the F-9 image size
> issues until we were able to quantify the effect of changes we
> had
> made or were considering making. Consequently, he suggests that
> we
> will be unable to attack our current space consumption problems
> until we are able to generate good numbers (and displays).)
>
> - We need to think carefully about (or measure) whether our
> memory-consumption patterns have changed.
SUMMARY: 759 vs 711 is only eating an extra ~16Mb of ram after a clean
boot (no running Activities)
Just some very quick general observations between build 771 and build
759 running on XO hardware. Tests were taken after clean reboots;
allowing things to settle (~5min before collecting stats); with no
Activities or UI use (data collected via a remote ssh session); jabber
server was set to an unreachable name and no local salute buddies; net
connection was to an AP, with about ~4 other APs visible in my
neighbourhood.
Using free, the reported buffers/cache is generally the more
interesting value. After a clean boot 759 is now using an extra 16Mb
(up to 115Mb). The reported total has gone up 80k, so I guess the
kernel is a little smaller :-) The reported mem free is down by 8Mb
(down to 47Mb) indicating better use of available memory (caches went
up by that same ~8Mb, plus extra some buffers by 100K).
As far as processes are concerned "/usr/bin/sugar-shell" is initially
the most hungry, 711 it starts out at 12.2% of total used (RES=28m,
SHR =12m, DATA=15m). For 759 it's gone up to 14.3% (RES=33m, SHR=14m,
DATA=18m).
Working down the list journal is next, 711 starts out at 8.7% of total
used (RES=20m, SHR=10m, DATA=1m). For 759 it's gone up to 10.1%
(RES=23m, SHR=11m, DATA=11m). These figures are with an empty journal
due to the break in compatibility when switching between these
builds :-(
Next for 759 is more interesting as it reflects the changes to rainbow
and (I assume) the pre-loading of commonly used modules for Activity
efficiency (I need to test Activity usage changes separately from this
email**). So "/usr/sbin/rainbow-daemon" for 711 is just 3.1% (RES=7m,
SHR=1m, DATA=6m), while 759 is up at 9.6% (RES=22m, SHR=10m, DATA=11m).
Other processes such as "/usr/bin/datastore-service", and "/usr/bin/
sugar-presence-service", have grown slightly by small amounts, "/usr/
bin/sugar-shell-service" has shrunk slightly - nothing exciting.
FWIW: The pmap tool seems like it might show interesting data for
comparisons (lists where a specific PIDs memory is going at a library
level). Most of the interesting stuff is hidden in [ anon ] blocks,
but knowing all the libs referenced and their size should be of use.
Have been experimenting a little with a script to collect and compare
data for all processes between builds - need to find a clear way to
visualise the results in a useful (not an 'oh my god spiders with pens
are attacking') way.
**I'll try and test several Activity versions that can run on both
builds and see how their individual resources have changed, will post
later.
--Gary
More information about the Devel
mailing list