all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Simon Josefsson <jas@extundo.com>
Subject: Re: Debugging memory leaks/stale references
Date: Mon, 27 Sep 2004 22:48:27 +0200	[thread overview]
Message-ID: <iluzn3b4ew4.fsf@latte.josefsson.org> (raw)
In-Reply-To: jwv655zqyy1.fsf-monnier+emacs@gnu.org

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> while they are traversed.  Unfortunately, no major leak turned up,
>> just a few thousand cons cells which can't cause the massive leak I
>> see (in the order of dozens of megabytes after entering/exiting a
>> large NNTP group with Gnus).
>
> I think it would be worthwhile to start with the basic info returned by
> `garbage-collect' and such stuff.  See `memory-usage.el' below.
> [ I thought you already tried that, but the few lines above make me think
> that you don't even know whether the extra MBs are made up of cons cells, or
> strings, or non-elisp-data, or ...]

Thanks, memory-usage seem useful.  The memory growth caused by Gnus
seem to escape it though.  This is a fairly fresh emacs (I'm using
Gnus, programming C and reading documentation, but nothing fancy):

20807 jas       15   0  365m 185m  17m S  2.7 18.3  89:12.64 emacs

But there is no indication of where the memory is used (see below).

Perhaps the "top" statistics aren't reliable, but the fact remains
that the sluggishness I feel appear to be correlated to high memory
usage according to "top".

Hm.  Is it possible to use 'gdb' to find out where all memory goes?
Seems like it should have the capability to do it, at least.

(FWIW, the above emacs is not sluggish.)

Garbage collection stats:
((1130529 . 100249) (60991 . 170) (8108 . 5450) 3508516 1049895 (322 . 551) (34955 . 28764) (143989 . 25103))

 =>	9846224 bytes in cons cells
	1467864 bytes in symbols
	271160 bytes in markers
	3508516 bytes of string chars
	4199580 bytes of vector slots
	10476 bytes in floats
	1784132 bytes in intervals

Total bytes in lisp objects (not counting string and vector headers): 17938267

Buffer ralloc memory usage:
147 buffers
5564167 bytes total (66581 in gaps)
      Size	Gap	Name

   1843610	2000	 *DOC*
    524443	2000	snprintf_2.2.tar.gz
    467401	2000	*Messages*
    460876	2000	 *Gnus Backlog*
...

  parent reply	other threads:[~2004-09-27 20:48 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-21 17:38 Debugging memory leaks/stale references Florian Weimer
2004-09-21 19:49 ` Simon Josefsson
2004-09-27 19:40   ` Florian Weimer
2004-09-27 19:52     ` Stefan Monnier
2004-09-27 20:36       ` Florian Weimer
2004-09-27 20:49         ` Stefan Monnier
2004-09-27 20:48       ` Simon Josefsson [this message]
2004-09-28 15:20     ` Richard Stallman
2004-09-28 21:00       ` Florian Weimer
2004-09-28 21:51         ` Florian Weimer
2004-09-29 16:39         ` Richard Stallman
2004-09-29 23:51         ` Kenichi Handa
2004-09-28 21:40       ` Kim F. Storm
2004-09-21 19:57 ` Stefan Monnier
2004-09-21 21:01   ` Florian Weimer

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=iluzn3b4ew4.fsf@latte.josefsson.org \
    --to=jas@extundo.com \
    /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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.