all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Roel Janssen <roel@gnu.org>
To: Efraim Flashner <efraim@flashner.co.il>
Cc: 48178-done@debbugs.gnu.org
Subject: bug#48178: Out of memory error when generating a docker-image.
Date: Mon, 10 May 2021 09:46:25 +0200	[thread overview]
Message-ID: <1d6f2f78d43e79457f53d865ae1905385da30006.camel@gnu.org> (raw)
In-Reply-To: <YJjgyrRBM5xTkhGd@3900XT>

On Mon, 2021-05-10 at 10:29 +0300, Efraim Flashner wrote:
> On Mon, May 03, 2021 at 07:47:49PM +0200, Roel Janssen wrote:
> > On Mon, 2021-05-03 at 12:39 -0400, Leo Famulari wrote:
> > > On Mon, May 03, 2021 at 12:09:36AM +0200, Roel Janssen wrote:
> > > > Looking at 'guix/scripts/system.scm', it seems that we always
> > > > pass
> > > > 256M
> > > > of memory to the VM.  After bumping that to 4096M, I was able
> > > > to
> > > > produce a docker image.
> > > 
> > > Can you test somes values that are in between? Like, 512M, 1024M,
> > > etc,
> > > until we know how much is actually required? If 512M is enough, I
> > > don't
> > > see a problem with increasing the hard-coded value to that.
> > > 
> > 
> > I monitored the VM's memory usage and it peaked at 1.6G. But after
> > testing, it seems 1024 also works.
> > 
> > I tested with 2048 (worked), 1024 (worked), and 512 (didn't work).
> > 
> > > > I'd like to see what we can do here.  Assigning too little
> > > > memory
> > > > leads
> > > > to problems generating the container, but assigning too much
> > > > memory
> > > > wil
> > > > l cause problems for computing machines that don't have much
> > > > memory
> > > > to
> > > > spare.
> > > 
> > 
> > In that case... The attached patch would only increase the size
> > when
> > generating a Docker container image.  Would that be acceptable?
> > 
> > > There are some use cases for this code that we'd like to work on
> > > low-resource machines (`guix system vm`), and other use cases
> > > (like
> > > building Docker images) that shouldn't be expected to work on
> > > machines
> > > with limited RAM.
> > > 
> > > > Would it be a good idea to make it configurable at run-time?
> > > 
> > > Yeah, maybe.
> > > 
> > 
> > I think it'd be better to have it somehow dynamically increase, but
> > I
> > don't see how I could determine the VM size needed for a given
> > system
> > configuration.  So perhaps the attached patch is an acceptable
> > compromise.
> > 
> > Kind regards,
> > Roel Janssen
> > 
> 
> Looks good to me!
> 

Thank you for looking at it!  I pushed the proposed patch in
ce3d05cc08c01351756ab5d5b7f25cfe0295c230.

Kind regards,
Roel Janssen





      reply	other threads:[~2021-05-10  7:47 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-02 22:09 bug#48178: Out of memory error when generating a docker-image Roel Janssen
2021-05-03 16:39 ` Leo Famulari
2021-05-03 17:47   ` Roel Janssen
2021-05-10  7:29     ` Efraim Flashner
2021-05-10  7:46       ` Roel Janssen [this message]

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=1d6f2f78d43e79457f53d865ae1905385da30006.camel@gnu.org \
    --to=roel@gnu.org \
    --cc=48178-done@debbugs.gnu.org \
    --cc=efraim@flashner.co.il \
    /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.
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.