From: Konstantin Kharlamov <hi-angel@yandex.ru>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 45200@debbugs.gnu.org
Subject: bug#45200: Memory leaks: (garbage-collect) fails to reclaim memory
Date: Sun, 24 Jan 2021 22:00:31 +0300 [thread overview]
Message-ID: <2a4f3f31f30db28387055821a8edf44fd1d66ea5.camel@yandex.ru> (raw)
In-Reply-To: <jwvlfcinpmk.fsf-monnier+emacs@gnu.org>
On Sun, 2021-01-24 at 13:51 -0500, Stefan Monnier wrote:
> > # 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.
>
> I disagree with this expectation: it is perfectly normal for the amount
> of memory allocated to the Emacs process to be left higher if you delay
> the GC. There are various reasons for that:
> - fragmentation, of course. Not much we can do about it short of using
> a moving collector.
> - the desire to keep memory around rather than return it to the OS,
> under the assumption that we'll need it again soon.
>
> And it's not considered as a memory leak as long as that memory has
> indeed been needed in the past and that future allocations can still
> make use of it.
I'm fine with Emacs possibly keeping a dozen of megabytes for personal use. The problem though is that the issue easily manifests itself in hundreds of megabytes, as can be seen with the testcase marked as "Message #11" in web-ui.
next prev parent reply other threads:[~2021-01-24 19:00 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-12 18:43 bug#45200: Memory leaks: (garbage-collect) fails to reclaim memory Konstantin Kharlamov
2020-12-12 20:15 ` Eli Zaretskii
2020-12-12 22:44 ` Konstantin Kharlamov
2020-12-12 22:59 ` Lars Ingebrigtsen
2020-12-13 6:08 ` Eli Zaretskii
2020-12-13 5:53 ` Eli Zaretskii
2020-12-13 12:07 ` Konstantin Kharlamov
2021-01-24 15:24 ` bug#45200: [PATCH] Force Glibc to free the memory freed Konstantin Kharlamov
2021-01-24 15:40 ` Eli Zaretskii
2021-01-25 22:17 ` DJ Delorie
2021-01-25 22:28 ` Konstantin Kharlamov
2021-01-26 14:55 ` Eli Zaretskii
2021-01-26 15:02 ` Konstantin Kharlamov
2021-01-26 15:30 ` Stefan Monnier
2021-02-02 21:17 ` Konstantin Kharlamov
2021-02-03 4:45 ` Stefan Monnier
2021-02-03 4:50 ` Stefan Monnier
2021-02-03 6:04 ` Konstantin Kharlamov
2021-02-03 7:07 ` Eli Zaretskii
2021-02-03 7:15 ` Konstantin Kharlamov
2021-02-03 7:39 ` martin rudalics
2021-02-03 8:23 ` Konstantin Kharlamov
2021-02-03 9:35 ` martin rudalics
2021-02-03 9:49 ` Konstantin Kharlamov
2021-02-03 10:35 ` Konstantin Kharlamov
2021-02-03 11:06 ` martin rudalics
2021-02-03 11:08 ` Konstantin Kharlamov
2021-02-03 11:16 ` Konstantin Kharlamov
2021-02-03 12:56 ` martin rudalics
2021-02-03 13:00 ` Konstantin Kharlamov
2021-02-03 15:14 ` martin rudalics
2021-02-03 15:15 ` Stefan Monnier
2021-02-03 15:29 ` Konstantin Kharlamov
2021-02-03 16:02 ` Stefan Monnier
2021-02-03 16:35 ` Konstantin Kharlamov
2021-02-03 16:51 ` Stefan Monnier
2021-02-03 19:30 ` DJ Delorie
2021-02-03 19:36 ` DJ Delorie
2021-02-03 20:28 ` Konstantin Kharlamov
2021-02-03 20:51 ` DJ Delorie
2021-05-18 20:12 ` Konstantin Kharlamov
2021-05-19 4:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-05-19 4:26 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-05-19 6:46 ` Konstantin Kharlamov
2021-05-19 9:47 ` Eli Zaretskii
2021-05-19 9:55 ` Konstantin Kharlamov
2021-05-19 10:09 ` Eli Zaretskii
2021-02-03 14:51 ` Eli Zaretskii
2021-02-03 15:01 ` Konstantin Kharlamov
2021-02-03 14:44 ` Eli Zaretskii
2021-02-03 15:12 ` Andreas Schwab
2021-02-03 19:25 ` DJ Delorie
2021-02-03 19:49 ` Eli Zaretskii
2021-02-03 21:00 ` DJ Delorie
2021-02-03 20:24 ` Stefan Monnier
2021-02-03 20:42 ` DJ Delorie
2021-02-03 22:07 ` Stefan Monnier
2021-02-03 22:21 ` DJ Delorie
2021-02-03 23:32 ` Stefan Monnier
2021-02-04 0:31 ` DJ Delorie
2021-02-04 3:26 ` Stefan Monnier
2021-02-04 3:38 ` DJ Delorie
2021-02-04 3:55 ` Stefan Monnier
2021-02-04 4:02 ` DJ Delorie
2021-02-04 4:19 ` Stefan Monnier
2021-02-04 4:26 ` DJ Delorie
2021-02-04 4:04 ` DJ Delorie
2021-02-03 15:15 ` Stefan Monnier
2021-01-26 14:49 ` Eli Zaretskii
2021-01-26 16:13 ` DJ Delorie
2021-12-04 23:20 ` bug#45200: Memory leaks: (garbage-collect) fails to reclaim memory Lars Ingebrigtsen
2021-12-05 6:23 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-12-05 8:26 ` Eli Zaretskii
2022-05-01 9:43 ` bug#45200: Wishlist: There should be a `malloc-trim' function Lars Ingebrigtsen
2021-12-05 19:59 ` bug#45200: Memory leaks: (garbage-collect) fails to reclaim memory Lars Ingebrigtsen
2021-12-05 7:07 ` Eli Zaretskii
2021-01-24 18:51 ` Stefan Monnier
2021-01-24 19:00 ` Konstantin Kharlamov [this message]
2021-01-24 19:06 ` Konstantin Kharlamov
2021-01-24 19:55 ` Eli Zaretskii
2021-01-24 19:12 ` Stefan Monnier
2021-01-24 20:00 ` Konstantin Kharlamov
2021-01-24 20:11 ` Eli Zaretskii
2021-01-24 20:21 ` Konstantin Kharlamov
2021-01-24 21:20 ` Stefan Monnier
2021-01-24 21:26 ` Konstantin Kharlamov
2021-01-24 21:41 ` Stefan Monnier
2021-01-24 21:55 ` Konstantin Kharlamov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2a4f3f31f30db28387055821a8edf44fd1d66ea5.camel@yandex.ru \
--to=hi-angel@yandex.ru \
--cc=45200@debbugs.gnu.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).