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