1341MB swap in use with half gig of free memory
    bob prohaska 
    fbsd at www.zefox.net
       
    Sat Jul  4 01:15:57 UTC 2020
    
    
  
On Sat, Jul 04, 2020 at 09:39:38AM +1000, Peter Jeremy wrote:
> 
> The "every few minutes ... one core reaches 100%" implies that every few
> minutes one process manages to get hold of enough RAM to work through a
> compiling a file.  That process then exits and all the RAM it was using
> returns to the free pool.
> 
That's one point I was entirely missing. When the only runnable thread
finishes, nothing else can run till a working set has been swapped back
into ram. As Mark reminds me, at 2MB a second, it easily takes minutes
of doing nothing but reading swap to be able to run anything. Thus,
the long interval of seeming inactivity. 
> 
> I don't think so.  The default "run one build process per core" assumes
> that there's adequate RAM.  It's really difficult for the build process
> to know how big a process will get, and so automatically cut back on the
> number of parallel processes it spawns.  This is one case where I don't
> believe there is any alternative to manually specifying "-j1" or
> equivalent.
>
In this case (essentially that of a batch job with no interactive use)
would using -j1 or -j2 reduce the overall compilation time?  If I'm 
understanding correctly the answer is "no", -j1 precludes using extra 
cores when it's possible. From time to time it uses all four. 
 
> Note that Chromium is a massive chunk of code.  A more normal build
> environment would be several dozen quite fast cores with around 3GB RAM
> per core.  You are really stressing the VM system by trying to build it
> with ~256MB/core.
> 
A smaller browser would be a very welcome discovery. So far, chromium
is the only one that has worked well enough to be useful.
 
Thanks for writing.... 
bob  prohaska
    
    
More information about the freebsd-arm
mailing list