gnome-terminal has a weight problem

Daniel P. Berrange berrange at redhat.com
Tue Nov 28 19:57:24 UTC 2006


On Tue, Nov 28, 2006 at 12:41:56PM -0700, Jonathan Corbet wrote:
> Ever since I updated to post-FC6 rawhide on my x86-64 system,
> gnome-terminal has been unreliable.  It occasionally crashes, often at
> strange times.  I put it into Bugzilla
> (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=217378) but have
> not heard any more - how dare people not fix my bug (for free) within 24
> hours?!?  :)
> 
> I am curious, though, as to whether I'm really the only one who sees
> this.  The problem appears to be related to a memory leak.  A quick ps
> on my system shows:
> 
>  corbet   14974  0.0  5.4 333732 55532 ?        Ssl  Nov27   0:13 gnome-terminal
> 
> A 300MB address space (50MB resident) is a bit on the hefty side, even
> considering that we're talking about a GNOME application here.  Doing
> the same thing an hour later shows this:
> 
>  corbet   14974  0.0  5.0 341236 52032 ?        Ssl  Nov27   0:14 gnome-terminal
> 
> Whereas when I put in the BZ entry I had this:
> 
>  corbet   14974  0.0  2.3 295520 24288 ?        Rsl  07:54   0:02 gnome-terminal
> 
> In other words, the thing is growing at a fast and steady rate.
> 
> Personally, I think that a terminal emulator should know its place, and
> gnome-terminal has failed to keep within its bounds.  Is this something
> special it's doing for me, or is it a wider problem?

The memory usage reported by 'ps' or 'top' is essentially /useless/ as a
source of information about how much memory is actually used by a program.

On x86_64 in particular, libraries are mapped into memory on very coarse
granularity, but the actual usage is nowhere near the map size. A freshly
launched gnome-terminal on i386 has a mapped size of 49 MB, while x86_64 
it is 430 MB. The actual resident size though is ~20 MB on i386, or 30 MB
on x86_64, which is pretty reasonable - particularly when you then look
at how much of this is shared vs private mappings.

The size of private mappings in gnome-terminal appears to be principally
related to number of tabs / windows open & the scrollback size.

Anyway if you want to examine actual memory maps / usage to get some real
memory figures look at /proc/[PID]/smaps  rather tha top/ps. That file's 
rather unpleasent to read, so its useful to post-process it

  http://people.redhat.com/berrange/mem-monitor/

Regards,
Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 




More information about the fedora-test-list mailing list