* bug#43406: Emacs 27.1 memory consumption grows indefinitely
@ 2020-09-14 19:38 Ludovic Courtès
2020-09-14 20:40 ` Mark H Weaver
` (3 more replies)
0 siblings, 4 replies; 12+ messages in thread
From: Ludovic Courtès @ 2020-09-14 19:38 UTC (permalink / raw)
To: 43406
Hello,
Since I upgraded to Emacs 27.1, its memory consumption grows without
bounds, to the point that it gets OOM-killed after just a couple of
hours (meaning that it’s used most of the 16G of RAM of my laptop!).
Does that ring a bell to anyone? I have 50+ ^emacs- packages in my
profile; any clues on what could be the cause before diving further?
--8<---------------cut here---------------start------------->8---
$ guix package -I ^emacs$
emacs 27.1 out /gnu/store/ipgb6s3phz3n740xlcdzaxnbgvncdh11-emacs-27.1
$ guix describe
Generacio 157 Sep 10 2020 08:49:21 (nuna)
guix 7090159
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 7090159c23d6345992ab976d71fefeb1583cfcdf
$ uname -rm
5.8.8-gnu x86_64
--8<---------------cut here---------------end--------------->8---
Ludo’.
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43406: Emacs 27.1 memory consumption grows indefinitely
2020-09-14 19:38 bug#43406: Emacs 27.1 memory consumption grows indefinitely Ludovic Courtès
@ 2020-09-14 20:40 ` Mark H Weaver
2020-09-14 21:56 ` Ricardo Wurmus
` (2 subsequent siblings)
3 siblings, 0 replies; 12+ messages in thread
From: Mark H Weaver @ 2020-09-14 20:40 UTC (permalink / raw)
To: Ludovic Courtès, 43406
Hi Ludovic,
Ludovic Courtès <ludo@gnu.org> writes:
> Since I upgraded to Emacs 27.1, its memory consumption grows without
> bounds, to the point that it gets OOM-killed after just a couple of
> hours (meaning that it’s used most of the 16G of RAM of my laptop!).
>
> Does that ring a bell to anyone? I have 50+ ^emacs- packages in my
> profile; any clues on what could be the cause before diving further?
Here's another data point: although I haven't paid attention to the
memory consumption of Emacs 27.1, I've used it successfully for at least
10 hours at a time (probably more) on my X200 with only 4G of RAM. I
use 'emacs-no-x-toolkit' with only a few emacs packages:
emacs-no-x-toolkit
emacs-paredit
emacs-magit
emacs-geiser
emacs-org-caldav
emacs-nov-el
notmuch
I haven't actually used 'emacs-org-caldav' or 'emacs-nov-el' recently.
Paredit, Geiser, Magit, and Notmuch's Emacs mail client are the only
out-of-tree Emacs packages that I actively use.
Mark (boring Emacs user :)
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43406: Emacs 27.1 memory consumption grows indefinitely
2020-09-14 19:38 bug#43406: Emacs 27.1 memory consumption grows indefinitely Ludovic Courtès
2020-09-14 20:40 ` Mark H Weaver
@ 2020-09-14 21:56 ` Ricardo Wurmus
2020-09-14 22:11 ` zimoun
2020-09-15 14:19 ` Ludovic Courtès
2020-09-18 6:53 ` Eli Zaretskii via web
3 siblings, 1 reply; 12+ messages in thread
From: Ricardo Wurmus @ 2020-09-14 21:56 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 43406
Ludovic Courtès <ludo@gnu.org> writes:
> Since I upgraded to Emacs 27.1, its memory consumption grows without
> bounds, to the point that it gets OOM-killed after just a couple of
> hours (meaning that it’s used most of the 16G of RAM of my laptop!).
[…]
> $ guix package -I ^emacs$
> emacs 27.1 out /gnu/store/ipgb6s3phz3n740xlcdzaxnbgvncdh11-emacs-27.1
I have not observed this with /gnu/store/0v2r0d9gwbks7gmg5rygjb9mpb8i1bhl-emacs-27.1
(emacs-uptime) says "5 days, 11 hours, 38 minutes, 57 seconds"
--
Ricardo
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43406: Emacs 27.1 memory consumption grows indefinitely
2020-09-14 21:56 ` Ricardo Wurmus
@ 2020-09-14 22:11 ` zimoun
0 siblings, 0 replies; 12+ messages in thread
From: zimoun @ 2020-09-14 22:11 UTC (permalink / raw)
To: Ricardo Wurmus; +Cc: 43406
> > emacs 27.1 out /gnu/store/ipgb6s3phz3n740xlcdzaxnbgvncdh11-emacs-27.1
With the exact store item, M-x emacs-uptime says "3 days, 3 hours, 4
minutes, 7 seconds".
My kernel is 4.19.0-10 from Debian.
I use these packages:
"diminish"
"yasnippet"
"smex"
"counsel"
"ivy"
"ivy-rich"
"magit"
"debbugs"
"ag"
"org"
"org-contrib"
"flycheck"
"auctex"
"auto-dictionary-mode"
"ox-pandoc"
"pandoc-mode"
"htmlize"
"org-re-reveal"
"typo"
"pdf-tools"
"paredit"
"geiser"
"guix"
;; "ess"
"julia-mode"
"pyvenv"
"haskell-mode"
"tuareg"
"rust-mode"
"lua-mode"
"markdown-mode"
"google-c-style"
"graphviz-dot-mode"
"skewer-mode"
"ws-butler"
"fill-column-indicator"
"page-break-lines"
"info-plus"
"keyfreq"
in addition to the ones in core, in case it helps.
Cheers,
simon
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43406: Emacs 27.1 memory consumption grows indefinitely
2020-09-14 19:38 bug#43406: Emacs 27.1 memory consumption grows indefinitely Ludovic Courtès
2020-09-14 20:40 ` Mark H Weaver
2020-09-14 21:56 ` Ricardo Wurmus
@ 2020-09-15 14:19 ` Ludovic Courtès
2020-09-15 14:21 ` Ludovic Courtès
2020-09-15 14:45 ` Michael Rohleder
2020-09-18 6:53 ` Eli Zaretskii via web
3 siblings, 2 replies; 12+ messages in thread
From: Ludovic Courtès @ 2020-09-15 14:19 UTC (permalink / raw)
To: 43406; +Cc: Pierre Neidhardt
Hi!
Ludovic Courtès <ludo@gnu.org> skribis:
> Since I upgraded to Emacs 27.1, its memory consumption grows without
> bounds, to the point that it gets OOM-killed after just a couple of
> hours (meaning that it’s used most of the 16G of RAM of my laptop!).
>
> Does that ring a bell to anyone? I have 50+ ^emacs- packages in my
> profile; any clues on what could be the cause before diving further?
>
> $ guix package -I ^emacs$
> emacs 27.1 out /gnu/store/ipgb6s3phz3n740xlcdzaxnbgvncdh11-emacs-27.1
> $ guix describe
> Generacio 157 Sep 10 2020 08:49:21 (nuna)
> guix 7090159
> repository URL: https://git.savannah.gnu.org/git/guix.git
> branch: master
> commit: 7090159c23d6345992ab976d71fefeb1583cfcdf
Emacs is about to crash :-), so let me share this finding from
M-x profiler-report (mem) on a sample of a few minutes:
--8<---------------cut here---------------start------------->8---
- timer-event-handler 805,671,418 87%
- apply 804,987,874 87%
+ helm-ff--cache-mode-refresh 802,103,698 86%
+ emms-playing-time-display 1,349,461 0%
+ battery-update-handler 1,109,005 0%
+ #<compiled 0x1ff1153b5547> 221,094 0%
+ #<compiled 0x1ff11537c089> 49,632 0%
+ blink-cursor-start 30,368 0%
+ auto-revert-buffers 29,480 0%
+ highlight-symbol-temp-highlight 22,076 0%
+ mouse-avoidance-fancy 20,440 0%
+ display-time-event-handler 18,383 0%
+ show-paren-function 13,464 0%
+ erc-server-send-ping 7,500 0%
jit-lock-force-redisplay 4,136 0%
+ blink-cursor-timer-function 4,136 0%
+ nnimap-keepalive 2,400 0%
+ gnus-demon-run-callback 1,545 0%
+ isearch-lazy-highlight-start 1,056 0%
+ timer-activate 306,016 0%
+ timer-inc-time 191,264 0%
+ timer-activate-when-idle 92,928 0%
+ command-execute 100,936,674 10%
+ erc-server-filter-function 5,178,272 0%
+ redisplay_internal (C function) 4,988,306 0%
--8<---------------cut here---------------end--------------->8---
It’s Helm eating memory at each timer tick. That’s with:
--8<---------------cut here---------------start------------->8---
emacs-helm-wikipedia 0.0.0-1.126f044 out /gnu/store/iy08rcx4hbravm9k3qlinc4wvklp3pqi-emacs-helm-wikipedia-0.0.0-1.126f044
emacs-helm-swoop 3.0.0 out /gnu/store/qnr6asnk0b360ilx8cnrp35kwrh4fsf7-emacs-helm-swoop-3.0.0
emacs-helm-shell-history 0.1-1.110d3c3 out /gnu/store/ljgfa72mw8jx6br9khl7idcmrw4i33hc-emacs-helm-shell-history-0.1-1.110d3c3
emacs-helm-make 0.1.0-1.feae8df out /gnu/store/lnizl47zxlj03waficpy7fvfrx1mdqn7-emacs-helm-make-0.1.0-1.feae8df
emacs-helm-ls-git 1.9.1-1.76654c7 out /gnu/store/897fkkh4bzpvbd06kf7vxr53hgkk0vfs-emacs-helm-ls-git-1.9.1-1.76654c7
emacs-helm-gtags 1.5.7 out /gnu/store/lhibi05hvvn3zglcx2ii44yw723pfyja-emacs-helm-gtags-1.5.7
emacs-helm 3.6.5 out /gnu/store/ka9lph0hpzaky0sa52zf09469apkhb68-emacs-helm-3.6.5
emacs-helm-system-packages 1.10.1-1.6572340 out /gnu/store/lvkan5dsbcdkvl3y1fjmsgb423nzmmqc-emacs-helm-system-packages-1.10.1-1.6572340
emacs-helm-emms 1.3-3.37e5aa0 out /gnu/store/g06lnxvyqnp9d2yqgfanp69350f7m2yp-emacs-helm-emms-1.3-3.37e5aa0
--8<---------------cut here---------------end--------------->8---
Cc’ing a couple of people who I think use Helm and hopefully have
valuable advice to share. :-)
Ludo’.
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43406: Emacs 27.1 memory consumption grows indefinitely
2020-09-15 14:19 ` Ludovic Courtès
@ 2020-09-15 14:21 ` Ludovic Courtès
2020-09-15 14:47 ` Pierre Neidhardt
2020-09-15 14:45 ` Michael Rohleder
1 sibling, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2020-09-15 14:21 UTC (permalink / raw)
To: 43406; +Cc: Pierre Neidhardt
More precisely:
--8<---------------cut here---------------start------------->8---
- timer-event-handler 805,671,418 87%
- apply 804,987,874 87%
- helm-ff--cache-mode-refresh 802,103,698 86%
- helm-ff--cache-mode-refresh-1 801,321,290 86%
- helm-ff-refresh-cache 801,237,818 86%
- maphash 801,237,818 86%
+ #<compiled 0xec7961> 801,237,818 86%
helm-ff--cache-mode-max-idle-time 6,384 0%
+ run-with-idle-timer 651,464 0%
--8<---------------cut here---------------end--------------->8---
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43406: Emacs 27.1 memory consumption grows indefinitely
2020-09-15 14:19 ` Ludovic Courtès
2020-09-15 14:21 ` Ludovic Courtès
@ 2020-09-15 14:45 ` Michael Rohleder
1 sibling, 0 replies; 12+ messages in thread
From: Michael Rohleder @ 2020-09-15 14:45 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 43406
[-- Attachment #1: Type: text/plain, Size: 281 bytes --]
Hi Ludovic,
I also had trouble with that helm caching. I had the impression that it
was because of newer helm versions not emacs versions.
What helped me was disabling it with:
(setq helm-ff-keep-cached-candidates nil)
--
Alles fließt, nichts bleibt.
Heraklit
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 511 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43406: Emacs 27.1 memory consumption grows indefinitely
2020-09-15 14:21 ` Ludovic Courtès
@ 2020-09-15 14:47 ` Pierre Neidhardt
2020-09-15 16:48 ` Ludovic Courtès
0 siblings, 1 reply; 12+ messages in thread
From: Pierre Neidhardt @ 2020-09-15 14:47 UTC (permalink / raw)
To: Ludovic Courtès, 43406
[-- Attachment #1: Type: text/plain, Size: 233 bytes --]
I believe believe helm-ff cache came with Helm 3.6.4.
I find it slow (and not so useful?) so I've disabled it with:
(setq helm-ff-keep-cached-candidates nil)
Hope that helps!
--
Pierre Neidhardt
https://ambrevar.xyz/
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 511 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43406: Emacs 27.1 memory consumption grows indefinitely
2020-09-15 14:47 ` Pierre Neidhardt
@ 2020-09-15 16:48 ` Ludovic Courtès
2020-09-15 17:02 ` Pierre Neidhardt
0 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2020-09-15 16:48 UTC (permalink / raw)
To: Pierre Neidhardt; +Cc: 43406
Hi!
Pierre Neidhardt <mail@ambrevar.xyz> skribis:
> I believe believe helm-ff cache came with Helm 3.6.4.
>
> I find it slow (and not so useful?) so I've disabled it with:
>
> (setq helm-ff-keep-cached-candidates nil)
Michael Rohleder <mike@rohleder.de> skribis:
> What helped me was disabling it with:
> (setq helm-ff-keep-cached-candidates nil)
I definitely helps, thanks!
I seem to have something else leaking still, but this time it’s
primarily Gnus and/or EIEIO:
--8<---------------cut here---------------start------------->8---
- command-execute 1,117,368,135 88%
- call-interactively 1,117,276,295 88%
- funcall-interactively 1,116,838,121 88%
- gnus-group-save-newsrc 460,241,156 36%
- gnus-save-newsrc-file 460,241,156 36%
- gnus-run-hooks 429,283,350 34%
- apply 429,283,350 34%
- run-hooks 429,283,350 34%
- gnus-registry-save 429,283,350 34%
- eieio-persistent-save 427,938,700 33%
- apply 427,938,700 33%
+ #<compiled 0x6005bf1> 427,938,700 33%
+ gnus-registry--munge-group-names 1,340,064 0%
+ gnus-message 3,530 0%
+ gnus-gnus-to-quick-newsrc-format 20,126,054 1%
+ save-buffer 9,613,098 0%
+ gnus-agent-save-local 595,652 0%
+ gnus-gnus-to-newsrc-format 577,848 0%
+ gnus-group-set-mode-line 6,458 0%
+ gnus-message 3,736 0%
+ gnus-dribble-delete-file 3,352 0%
gnus-get-buffer-create 2,138 0%
+ gnus-prune-buffers 1,056 0%
- gnus-topic-read-group 208,616,775 16%
- gnus-group-read-group 208,616,775 16%
- gnus-summary-read-group 208,616,775 16%
- gnus-summary-read-group-1 208,616,775 16%
- gnus-run-hooks 163,821,469 13%
- apply 163,821,469 13%
- run-hooks 163,821,469 13%
- spam-find-spam 162,365,376 12%
- mapcar 162,328,432 12%
+ #<compiled 0x86338dd> 162,328,432 12%
+ gnus-parameter-spam-autodetect 35,888 0%
+ gnus-parameter-spam-autodetect-methods 1,056 0%
+ gnus-apply-kill-file 1,456,093 0%
+ gnus-select-newsgroup 31,456,212 2%
--8<---------------cut here---------------end--------------->8---
Any cache to turn off? :-)
Ludo’.
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43406: Emacs 27.1 memory consumption grows indefinitely
2020-09-15 16:48 ` Ludovic Courtès
@ 2020-09-15 17:02 ` Pierre Neidhardt
0 siblings, 0 replies; 12+ messages in thread
From: Pierre Neidhardt @ 2020-09-15 17:02 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 43406
[-- Attachment #1: Type: text/plain, Size: 132 bytes --]
I don't use Gnus, sorry.
Can you reproduce on a vanilla configuration (emacs -Q)?
--
Pierre Neidhardt
https://ambrevar.xyz/
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 511 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43406: Emacs 27.1 memory consumption grows indefinitely
2020-09-14 19:38 bug#43406: Emacs 27.1 memory consumption grows indefinitely Ludovic Courtès
` (2 preceding siblings ...)
2020-09-15 14:19 ` Ludovic Courtès
@ 2020-09-18 6:53 ` Eli Zaretskii via web
2020-09-18 11:47 ` Ludovic Courtès
3 siblings, 1 reply; 12+ messages in thread
From: Eli Zaretskii via web @ 2020-09-18 6:53 UTC (permalink / raw)
To: 43406
Please don't use "memory profile" as any indication of the Emacs memory usage: it is entirely unrelated to memory.
The Emacs profiler only profiles CPU usage. It samples the PC register using a special signal (SIGPROF), which is the usual method of sampling CPU in profilers. For those systems which don't have SIGPROF, it can fall back on sampling the CPU whenever Emacs calls one of the memory allocation functions -- this is called "mem" profiling.
So the "memory" profiles shown here don't show memory usage.
^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#43406: Emacs 27.1 memory consumption grows indefinitely
2020-09-18 6:53 ` Eli Zaretskii via web
@ 2020-09-18 11:47 ` Ludovic Courtès
0 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2020-09-18 11:47 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 43406
Hi Eli,
Eli Zaretskii via web <issues.guix.gnu.org@elephly.net> skribis:
> Please don't use "memory profile" as any indication of the Emacs memory usage: it is entirely unrelated to memory.
>
> The Emacs profiler only profiles CPU usage. It samples the PC register using a special signal (SIGPROF), which is the usual method of sampling CPU in profilers. For those systems which don't have SIGPROF, it can fall back on sampling the CPU whenever Emacs calls one of the memory allocation functions -- this is called "mem" profiling.
>
> So the "memory" profiles shown here don't show memory usage.
Understood, that’s the same thing as Guile’s ‘gcprof’. :-)
Thanks for your feedback,
Ludo’.
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2020-09-18 11:48 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-14 19:38 bug#43406: Emacs 27.1 memory consumption grows indefinitely Ludovic Courtès
2020-09-14 20:40 ` Mark H Weaver
2020-09-14 21:56 ` Ricardo Wurmus
2020-09-14 22:11 ` zimoun
2020-09-15 14:19 ` Ludovic Courtès
2020-09-15 14:21 ` Ludovic Courtès
2020-09-15 14:47 ` Pierre Neidhardt
2020-09-15 16:48 ` Ludovic Courtès
2020-09-15 17:02 ` Pierre Neidhardt
2020-09-15 14:45 ` Michael Rohleder
2020-09-18 6:53 ` Eli Zaretskii via web
2020-09-18 11:47 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.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).