[Yum-devel] yum memory use question
Menno Smits
menno-yum at freshfoo.com
Wed Dec 8 10:43:43 UTC 2004
seth vidal wrote:
> python
> import yum
> foo = yum.YumBase()
> foo.doConfigSetup()
> foo.setConfigOption('cache', 1)
This line doesn't work. Should be:
foo.conf.setConfigOption('cache', 1)
> foo.doRepoSetup()
> foo.doSackSetup()
>
> at this point only the repodata from primary.xml should be read into
> memory.
>
> I'm seeing a memory foot print of something like 49M with fc3 + updates
> in memory.
I see similar with those repos enabled. With the extra repos in my
config I hit around 67MB!
> That seems high to me, any ideas?
I've traced it through by using lots of prints and raw_input()'s. Memory
usage jumps up from around 15MB to 47MB in the self.repos.populateSack()
call in doSackSetup().
Inside populateSack() the following lines both contribute to most of the
memory usage.
dobj = repo.cacheHandler.getPrimary(xml, csum) (~28MB increase)
self.pkgSack.addDict(repo.id, item, dobj, callback) (~10MB increase)
This large allocation of memory occurs when processing the metadata for
the first repository, which is "Base" (ie. the first loop of the outer
loop and the first loop of the inner loop, item == "metadata"). The
second repository "updates" doesn't seem to add too much more to yum's
memory usage.
I didn't go into it any further but that should give you a pretty good
head start.
Menno
Scanned by the NetBox from NetBox Blue
(http://netboxblue.com/)
More information about the Yum-devel
mailing list