all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Memory usage in ‘guix pull’
@ 2013-12-14 15:42 Ludovic Courtès
  0 siblings, 0 replies; only message in thread
From: Ludovic Courtès @ 2013-12-14 15:42 UTC (permalink / raw)
  To: guix-devel

Hi!

On IRC, Arne reported that ‘guix pull’ in the VM image would fail when
running with less than 1 GiB of RAM (!).  That’s something I didn’t
notice on my well-equipped laptop, but it’s definitely unacceptable.

This turned out to be due to the hack used to work around
<http://bugs.gnu.org/15602>: the build process (which compiles all the
.scm files of Guix) would end up retaining in memory N copies of
basically all the modules, where N is the number of files to compile.
This is because in Guile 2.0 modules are “anchored” in the module
hierarchy once they are created, and they cannot really be reclaimed.

Commit 0c2e1dd fixes that by simply using separate processes for each
compilation, and the next commit does that in parallel, à la ‘make -j’.

If you’re using the VM, you should be able to:

  1. Start the VM with ‘-m 1024’ or similar.

  2. Run ‘guix pull’; this will download the latest Guix, including this
     ‘guix pull’ fix.

  3. From there on ‘guix pull’ should be able to run with less memory.

This is still not idea, obviously, but it seems we can’t do much better
until <http://bugs.gnu.org/15602> is fixed.

Please test and report back!

Ludo’.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2013-12-14 15:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-14 15:42 Memory usage in ‘guix pull’ Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

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.