[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gcl-devel] Bug#816982: closed by Camm Maguire <address@hidden> (Bug
Re: [Gcl-devel] Bug#816982: closed by Camm Maguire <address@hidden> (Bug#816982: fixed in maxima 5.38.0-3)
Thu, 14 Apr 2016 12:28:34 -0400
Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux)
Santiago Vila <address@hidden> writes:
> Thanks a lot for the explanations!
> On Wed, Apr 13, 2016 at 03:10:34PM -0400, Camm Maguire wrote:
>> For now I've put in a heuristic to try to match the heuristic used in
>> the kernel. We default GCL_MEM_MULTIPLE to 0.85, which appears to
>> always allow the fork()/exec() to run. This obviously is not optimal,
>> but works for now.
> I wish you had chosen a value smaller than 0.85.
> If I understood well, a machine with 4GB RAM and 6GB swap
> will use 85% of its 10GB of available memory, which means
> it will use 4GB RAM and 4.5 GB of swap.
> But 4GB of memory (without the swap) is probably more than enough
> to build maxima, there should not be a need to use so much swap.
The algorithm is designed to stay out of swap unless absolutely
necessary. By default, swap should be avoided unless the live heap,
i.e. that memory that cannot be reclaimed by gc, is over 95% of
physical, non-swap ram.
For example, I get the following after a run_testsuite() in maxima:
total used free shared buffers cached
Mem: 8197616 8048900 148716 54512 38944 1880936
-/+ buffers/cache: 6129020 2068596
Swap: 20971516 1838548 19132968
GCL_MEM_MULTIPLE=0.85 (default), RSS: 4366180 , 53.2% RAM
GCL_MEM_MULTIPLE=1.0 , RSS: 5737588 , 69.9% RAM
I did not seem to detect swapping on your machine either. Needless to
say I'd be interested if you observe swapping.
Of course many programs will run in much less memory, but at significant
cost in execution time. The goal here is to make efficient use of the
I've previously posted the details of the gc algorithm here if
Camm Maguire address@hidden
"The earth is but one country, and mankind its citizens." -- Baha'u'llah