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
> made or were considering making. Consequently, he suggests that
> 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
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,
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
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
More information about the Devel