bzr memory usage

Dimitrios Apostolou jimis at gmx.net
Fri Apr 29 21:01:37 UTC 2011


Hello list,

I have a need to run bzr on old machinery with little RAM, which proves to 
be impossible for big projects. To measure the RAM usage, I tried to 
download the lp:gcc branch (a fairly big project) on a new machine, using 
the following command:

$ time bzr branch -v lp:gcc
You have not informed bzr of your Launchpad ID, and you must do this to
write to Launchpad or access private data.  See "bzr help 
launchpad-login".
Branched 108463 revision(s).

real	61m30.930s
user	27m41.718s
sys	1m21.161s


During that time the download ratio was unstable (at moments it reached 
1MB/s, or fell to 0) and the total object count was increasing, the moment 
it seemed to reach the end, very annoying.
The memory usage as given by top during various moments:

$ top -d60 | grep bzr
19660 jimis     20   0 95540  85m 3964 R   24  4.3   0:14.54 -         bzr
19660 jimis     20   0  120m 116m 3992 S   42  5.9   0:40.00 sk_wait_d bzr
19660 jimis     20   0  166m 162m 3992 S   42  8.2   1:04.99 sk_wait_d bzr
19660 jimis     20   0  239m 234m 4008 R   48 11.8   1:33.76 -         bzr
19660 jimis     20   0  330m 325m 4016 R   71 16.4   2:16.24 -         bzr
19660 jimis     20   0  373m 367m 4016 R   71 18.6   2:58.85 -         bzr
19660 jimis     20   0  390m 385m 4016 R   69 19.5   3:40.46 -         bzr
19660 jimis     20   0  410m 405m 4016 R   70 20.5   4:22.64 -         bzr
19660 jimis     20   0  416m 410m 4016 R   80 20.7   5:10.80 -         bzr
19660 jimis     20   0  430m 425m 4016 R   71 21.5   5:53.51 -         bzr
19660 jimis     20   0  467m 461m 4016 S   71 23.3   6:36.23 sk_wait_d bzr
19660 jimis     20   0  456m 451m 4016 S   55 22.8   7:09.42 sk_wait_d bzr
19660 jimis     20   0  495m 490m 4016 R   82 24.8   7:58.88 -         bzr
19660 jimis     20   0  457m 453m 4016 S   75 22.9   8:43.81 sk_wait_d bzr
19660 jimis     20   0  502m 498m 4016 R   62 25.1   9:21.10 -         bzr
19660 jimis     20   0  558m 553m 4016 S   53 27.9   9:53.19 sk_wait_d bzr
19660 jimis     20   0  590m 585m 4016 S   21 29.6  10:05.56 sk_wait_d bzr
19660 jimis     20   0  592m 587m 4016 S   21 29.7  10:18.47 sk_wait_d bzr 
... one hour passed at almost 600MB memory usage ...
19660 jimis     20   0  633m 629m 4052 R  100 31.8  26:40.93 -         bzr
19660 jimis     20   0  661m 656m 4052 R  100 33.2  27:40.99 -         bzr
19660 jimis     20   0  829m 822m 1796 D   92 41.5  28:36.01 sync_buff bzr
19660 jimis     20   0  830m 765m 1752 D   13 38.7  28:43.68 sync_buff bzr
19660 jimis     20   0  857m 828m 1908 D   31 41.8  29:02.40 sync_page bzr


$ bzr --version
Bazaar (bzr) 2.3.1
   Python interpreter: /usr/bin/python2 2.7.1
   Python standard library: /usr/lib/python2.7
   Platform: Linux-2.6.37-ARCH-i686-Intel-R-_Core-TM-2_Quad_CPU_Q6600_ at _2.40GHz-with-glibc2.0
   bzrlib: /usr/lib/python2.7/site-packages/bzrlib
   Bazaar configuration: /home/jimis/.bazaar
   Bazaar log file: /home/jimis/.bzr.log


So is it possible that bzr is leaking memory? Or does it really need 600MB 
of heap? What is the lightest way to checkout a project? I am even 
thinking of downloading on a separate machine, creating a tarball, and 
scp'ing to the old machinery I need for testing...


Thanks in advance,
Dimitris




More information about the bazaar mailing list