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