Subject: Re: bug#48178: Out of memory error when generating a docker-image.
From: Roel Janssen <[email-masked]>
To: Efraim Flashner <[email-masked]>
Cc: [email-masked], Leo Famulari <[email-masked]>
Date: Mon, 10 May 2021 09:46:25 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

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