All of lore.kernel.org
 help / color / mirror / Atom feed
From: Phil Blundell <philb@gnu.org>
To: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Cc: bitbake-devel <bitbake-devel@lists.openembedded.org>
Subject: Re: [OE-core] Bitbake Memory Usage
Date: Sun, 19 Feb 2012 16:04:22 +0000	[thread overview]
Message-ID: <1329667462.2591.153.camel@x121e.pbcl.net> (raw)
In-Reply-To: <1329666117.7006.23.camel@ted>

On Sun, 2012-02-19 at 15:41 +0000, Richard Purdie wrote:
> I just did (to 4k) and it drops the overall RSS from 150M to 143M but
> otherwise no significant difference. For the record in the archives, the
> rather nasty hacky code I used was:
> 
> from ctypes import *
> cdll.LoadLibrary("libc.so.6") 
> libc = CDLL("libc.so.6") 
> print libc.mallopt(-3, 4*1024)

FWIW, you can just say "export MALLOC_THRESHOLD=4096" before running
bitbake, which should achieve roughly the same thing with slightly less
typing. 

> I just looked at the caches in question again and I now suspect the
> strings are under the 256b limit, I was thinking the data was slightly
> different.
> 
> If that is the case, it means the memory is being returned to python's
> pool allocator. Unfortunately that will suffer the same fragmentation
> problem described above.

Yeah.  I guess it would be possible to make the pool allocator smarter
to cut down on or ameliorate the fragmentation.  But I don't know
whether that is feasible/straightforward without patching Python itself.
Some further investigation required I suppose.

p.





WARNING: multiple messages have this Message-ID (diff)
From: Phil Blundell <philb@gnu.org>
To: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Cc: bitbake-devel <bitbake-devel@lists.openembedded.org>
Subject: Re: [bitbake-devel] Bitbake Memory Usage
Date: Sun, 19 Feb 2012 16:04:22 +0000	[thread overview]
Message-ID: <1329667462.2591.153.camel@x121e.pbcl.net> (raw)
In-Reply-To: <1329666117.7006.23.camel@ted>

On Sun, 2012-02-19 at 15:41 +0000, Richard Purdie wrote:
> I just did (to 4k) and it drops the overall RSS from 150M to 143M but
> otherwise no significant difference. For the record in the archives, the
> rather nasty hacky code I used was:
> 
> from ctypes import *
> cdll.LoadLibrary("libc.so.6") 
> libc = CDLL("libc.so.6") 
> print libc.mallopt(-3, 4*1024)

FWIW, you can just say "export MALLOC_THRESHOLD=4096" before running
bitbake, which should achieve roughly the same thing with slightly less
typing. 

> I just looked at the caches in question again and I now suspect the
> strings are under the 256b limit, I was thinking the data was slightly
> different.
> 
> If that is the case, it means the memory is being returned to python's
> pool allocator. Unfortunately that will suffer the same fragmentation
> problem described above.

Yeah.  I guess it would be possible to make the pool allocator smarter
to cut down on or ameliorate the fragmentation.  But I don't know
whether that is feasible/straightforward without patching Python itself.
Some further investigation required I suppose.

p.





  reply	other threads:[~2012-02-19 16:12 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-18 23:36 Bitbake Memory Usage Richard Purdie
2012-02-19  2:55 ` Richard Purdie
2012-02-19  2:55   ` [bitbake-devel] " Richard Purdie
2012-02-19  8:34   ` [OE-core] " Phil Blundell
2012-02-19  8:34     ` [bitbake-devel] " Phil Blundell
2012-02-19 15:41     ` [OE-core] " Richard Purdie
2012-02-19 15:41       ` [bitbake-devel] " Richard Purdie
2012-02-19 16:04       ` Phil Blundell [this message]
2012-02-19 16:04         ` Phil Blundell
2012-02-20 14:05 ` [OE-core] " Colin Walters
2012-02-20 14:05   ` Colin Walters
2012-02-20 19:57   ` [OE-core] " Chris Larson
2012-02-20 19:57     ` Chris Larson
2012-02-21 22:15     ` [OE-core] " Richard Purdie
2012-02-21 22:15       ` [bitbake-devel] " Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1329667462.2591.153.camel@x121e.pbcl.net \
    --to=philb@gnu.org \
    --cc=bitbake-devel@lists.openembedded.org \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.