[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#45200: Memory leaks: (garbage-collect) fails to reclaim memory
From: |
Eli Zaretskii |
Subject: |
bug#45200: Memory leaks: (garbage-collect) fails to reclaim memory |
Date: |
Sat, 12 Dec 2020 22:15:52 +0200 |
> From: Konstantin Kharlamov <hi-angel@yandex.ru>
> Date: Sat, 12 Dec 2020 21:43:10 +0300
>
> # Steps to reproduce:
>
> 1. Run `mkdir /tmp/.emacs.d`
> 2. Run emacs as `HOME=/tmp/ emacs`, and measure its PSS
> 3. Create a file /tmp/.emacs.d/early-init.el with content:
>
> ;; only run garbage collection on idle
> (setq gc-cons-threshold most-positive-fixnum)
> (run-with-idle-timer 2 t (lambda () (garbage-collect)))
>
> 4. Run emacs as `HOME=/tmp/ emacs`, evaluate (garbage-collect), then measure
> its PSS
>
> ## Expected
>
> Size has no statistically-significant difference, because in both cases we
> garbage-collected memory.
>
> ## Actual
>
> Size without calling explicit garbage-collect, from 3 runs, varied around
> 41.2..41.7 MB.
>
> Size afterwards, also 3 runs, varied around 45.4..45.5 MB.
Could be simply the effect of different stack size, since Emacs's GC
is conservative, and when there's doubt whether something is a live
object, it won't GC it.
I think more specific and detailed evidence is needed to prove your
case: which objects were not GC'ed and why.