unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Ihor Radchenko <yantar92@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 38345@debbugs.gnu.org, juri@linkov.net
Subject: bug#38345: 27.0.50; Permanent increase in memory consumption after opening images (or pdfs)
Date: Mon, 16 Dec 2019 14:18:58 +0800	[thread overview]
Message-ID: <87fthkokrx.fsf@yantar92-laptop.i-did-not-set--mail-host-address--so-tickle-me> (raw)
In-Reply-To: <83h82ej03y.fsf@gnu.org>

> What you describe is the situation where Emacs enlarges the image
> cache because the existing cache can no longer hold all the images we
> currently know about.  This is normal, and cannot cause a leak.

Agree. 

In my earlier email, it described my trial to expunge the images from
cache more aggressively:

>> also, I repeated my tests manually calling image-clear-cache every Nth
>> image. Every invocation of image-clear-cache does reduce the memory
>> consumption, but there is always some residual remaining unrealeased
>> (see the attached images). The residual seems to scale with the number
>> of images in the cache before clearing.

You suggested to look at the C code.

However, looking at the C code, I don't understand then why the
memory consumption is increasing. I can only see that too many images in
c->images array can cause extra memory consumption, which cannot cause
the observed memory leak.

Do you have any idea why even aggressive cache clearing causes memory
consumption increase?

Best,
Ihor


Eli Zaretskii <eliz@gnu.org> writes:

>> From: Ihor Radchenko <yantar92@gmail.com>
>> Cc: juri@linkov.net, 38345@debbugs.gnu.org
>> Date: Thu, 05 Dec 2019 14:48:03 +0800
>> 
>> For the image cache data structure, I can only see one place where it
>> may request extra memory allocation. It is when the number of images in
>> the cache exceeds the size of c->images array (= c->size, which is 50 by
>> default). I observed memory consumption increase even when the frequency
>> of cache clearing in my test was <50, which makes it unclear for me
>> where the extra memory consumption is coming from.
>
> What you describe is the situation where Emacs enlarges the image
> cache because the existing cache can no longer hold all the images we
> currently know about.  This is normal, and cannot cause a leak.
>
> The suggestion in this discussion was to expunge images from the cache
> more aggressively, and I thought you had difficulties in understand
> how this is done currently.
>
>> > I don't think replacing the system malloc on GNU/Linux systems (let
>> > alone on others) is an idea we'd like to pursue.  You may have more
>> > luck playing with mallopt calls in init_alloc_once_for_pdumper
>> > (assuming your build defines DOUG_LEA_MALLOC).
>> 
>> Do I understand correctly that you refer to emacs compiled with
>> alternative Doug Lea's implementation of malloc?
>
> No.  AFAIK, any compilation on GNU/Linus defines DOUG_LEA_MALLOC.
>
>> Actually, I tried to find a way to compile emacs with alternative
>> variants of malloc, but I did not find how to do it. 
>
> I don't think we support it, at least not easily.
>
>> P.S. I am running emacs with jemalloc for a few days and the overall
>> impression is that emacs became a lot more responsive. Previously, I
>> had a slow overtime degradation of delay between commands as emacs
>> process ran for a long time, up to the point when I can type a whole
>> sentence until emacs finally displays it on screen. Now, I do not see so
>> much degradation. 
>
> This has got to be a separate issue, perhaps related to GC (do you
> have customizations of any GC-related variables?).  It should be
> reported and analyzed separately, as it is unrelated to image caching.






  parent reply	other threads:[~2019-12-16  6:18 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-23 14:37 bug#38345: 27.0.50; Permanent increase in memory consumption after opening images (or pdfs) Ihor Radchenko
     [not found] ` <handler.38345.B.15745199896049.ack@debbugs.gnu.org>
2019-11-23 14:44   ` bug#38345: Acknowledgement (27.0.50; Permanent increase in memory consumption after opening images (or pdfs)) Ihor Radchenko
2019-11-23 14:48 ` bug#38345: 27.0.50; Permanent increase in memory consumption after opening images (or pdfs) Lars Ingebrigtsen
2019-11-23 15:12   ` Ihor Radchenko
2019-11-23 14:50 ` Eli Zaretskii
2019-11-23 15:18   ` Ihor Radchenko
2019-11-23 15:45     ` Eli Zaretskii
2019-11-23 16:04       ` Ihor Radchenko
2019-11-23 16:34         ` Eli Zaretskii
2019-11-23 17:33           ` Ihor Radchenko
2019-11-23 17:51             ` Eli Zaretskii
2019-11-25 16:10 ` Eli Zaretskii
2019-11-26 15:21   ` Ihor Radchenko
2019-11-26 15:55     ` Eli Zaretskii
2019-11-26 16:24       ` Ihor Radchenko
2019-11-27 21:17     ` Juri Linkov
2019-11-28  1:38       ` Ihor Radchenko
2019-11-28 12:35         ` Lars Ingebrigtsen
2019-11-28 13:11           ` Ihor Radchenko
2019-11-28 15:10         ` Eli Zaretskii
2019-11-28 17:27           ` Ihor Radchenko
2019-11-28 18:44             ` Eli Zaretskii
2019-12-02  8:04               ` Ihor Radchenko
2019-12-02 15:49                 ` Eli Zaretskii
2019-12-05  6:48                   ` Ihor Radchenko
2019-12-05 14:52                     ` Eli Zaretskii
2019-12-06  1:34                       ` Noam Postavsky
2019-12-06  7:52                         ` Eli Zaretskii
2019-12-07 19:25                           ` Noam Postavsky
2019-12-07 19:39                             ` Eli Zaretskii
2019-12-16  6:18                       ` Ihor Radchenko [this message]
2019-12-16 16:30                         ` Eli Zaretskii
2020-08-02 18:14                           ` Lars Ingebrigtsen
2020-08-02 22:52                             ` Ihor Radchenko
2020-08-03  6:10                               ` Lars Ingebrigtsen

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=87fthkokrx.fsf@yantar92-laptop.i-did-not-set--mail-host-address--so-tickle-me \
    --to=yantar92@gmail.com \
    --cc=38345@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=juri@linkov.net \
    /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).