[Eug-lug] ubuntu xterm strangeness

Mike Cherba mike.cherba at caviumnetworks.com
Mon Dec 10 12:14:57 PST 2007


I'm curious if anyone else has run across this issue before.

I noticed this when I was booting a system attached to a USB serial
device, but eventually localized the issue to xterm itself.  Basically
when you put a lot of text through an xterm the cpu usage on gutsy goes
way up.  like 100%.  I've tried the same thing with the generic terminal
app gnome-terminal and the cpu usage is much lower.  This seems odd.
I'm wondering if there is something broken or at least terribly
sub-optimal in one of the libraries used.

I'm running KDE and can reproduce this symptom at will simply by running
"du -ah /" in the two different terminals. (xterm & gnome-terminal)

It looks like the are 4 shared libraries that xterm uses that
gnome-terminal doesn't.
    libXaw.so.7 => /usr/lib/libXaw.so.7 (0xb7f46000)
    libXmu.so.6 => /usr/lib/libXmu.so.6 (0xb7f30000)
    libXt.so.6 => /usr/lib/libXt.so.6 (0xb7ed1000)
    libXpm.so.4 => /usr/lib/libXpm.so.4 (0xb7b73000)
and a whole raft of libraries that gnome-terminal uses that xterm
doesn't.


I'm going to rebuild my xterm and try profiling it to see where all the
cycles are going.  top shows them as being associated with Xorg itself.


root at longsword:~/minicom-2.2# ldd /usr/bin/xterm 
        linux-gate.so.1 =>  (0xffffe000)
        libXft.so.2 => /usr/lib/libXft.so.2 (0xb7fcc000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7fa1000)
        libXaw.so.7 => /usr/lib/libXaw.so.7 (0xb7f46000)
        libXmu.so.6 => /usr/lib/libXmu.so.6 (0xb7f30000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb7f22000)
        libXt.so.6 => /usr/lib/libXt.so.6 (0xb7ed1000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0xb7ec9000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0xb7eb1000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb7dc0000)
        libncurses.so.5 => /lib/libncurses.so.5 (0xb7d7b000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7c31000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7bc1000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7bac000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb7ba4000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb7b84000)
        libXpm.so.4 => /usr/lib/libXpm.so.4 (0xb7b73000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb7b70000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7b6b000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7b67000)
        /lib/ld-linux.so.2 (0x80000000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7b4f000)
root at longsword:~/minicom-2.2# ldd /usr/bin/gnome-terminal
        linux-gate.so.1 =>  (0xffffe000)
        liblaunchpad-integration.so.0 => /usr/lib/liblaunchpad-integration.so.0 (0xb7f6e000)
        libglade-2.0.so.0 => /usr/lib/libglade-2.0.so.0 (0xb7f56000)
        libgnomeui-2.so.0 => /usr/lib/libgnomeui-2.so.0 (0xb7ec9000)
        libgnome-2.so.0 => /usr/lib/libgnome-2.so.0 (0xb7eb4000)
        libpopt.so.0 => /lib/libpopt.so.0 (0xb7eac000)
        libbonobo-2.so.0 => /usr/lib/libbonobo-2.so.0 (0xb7e50000)
        libbonobo-activation.so.4 => /usr/lib/libbonobo-activation.so.4 (0xb7e3b000)
        libstartup-notification-1.so.0 => /usr/lib/libstartup-notification-1.so.0 (0xb7e31000)
        libvte.so.9 => /usr/lib/libvte.so.9 (0xb7d7b000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb79f6000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb796f000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb7954000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb793c000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7916000)
        libgnomevfs-2.so.0 => /usr/lib/libgnomevfs-2.so.0 (0xb78bd000)
        libgconf-2.so.4 => /usr/lib/libgconf-2.so.4 (0xb788b000)
        libORBit-2.so.0 => /usr/lib/libORBit-2.so.0 (0xb7838000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb77fb000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb77c0000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7702000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb76fa000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb7609000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb75f1000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb74a7000)
        libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb749e000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7472000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb7464000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb7461000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0xb7459000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb7453000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb744a000)
        libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0xb7446000)
        libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0xb7443000)
        libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb73cc000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb73c7000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb73c3000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb73bf000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb72a0000)
        libbonoboui-2.so.0 => /usr/lib/libbonoboui-2.so.0 (0xb7242000)
        libgnomecanvas-2.so.0 => /usr/lib/libgnomecanvas-2.so.0 (0xb7212000)
        libart_lgpl_2.so.2 => /usr/lib/libart_lgpl_2.so.2 (0xb71fc000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb71f7000)
        librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb71ed000)
        libgnome-keyring.so.0 => /usr/lib/libgnome-keyring.so.0 (0xb71df000)
        libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb71bf000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0xb71b7000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0xb719f000)
        libesd.so.0 => /usr/lib/libesd.so.0 (0xb7194000)
        libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0xb7172000)
        libORBitCosNaming-2.so.0 => /usr/lib/libORBitCosNaming-2.so.0 (0xb716d000)
        libXft.so.2 => /usr/lib/libXft.so.2 (0xb715b000)
        libpangoxft-1.0.so.0 => /usr/lib/libpangoxft-1.0.so.0 (0xb7154000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb7125000)
        libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0xb711a000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb70aa000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7095000)
        libncurses.so.5 => /lib/libncurses.so.5 (0xb7051000)
        /lib/ld-linux.so.2 (0xb7f85000)
        libdbus-glib-1.so.2 => /usr/lib/libdbus-glib-1.so.2 (0xb7035000)
        libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0xb7000000)
        libgnutls.so.13 => /usr/lib/libgnutls.so.13 (0xb6f90000)
        libavahi-glib.so.1 => /usr/lib/libavahi-glib.so.1 (0xb6f8d000)
        libavahi-common.so.3 => /usr/lib/libavahi-common.so.3 (0xb6f82000)
        libavahi-client.so.3 => /usr/lib/libavahi-client.so.3 (0xb6f72000)
        libresolv.so.2 => /lib/tls/i686/cmov/libresolv.so.2 (0xb6f5f000)
        libselinux.so.1 => /lib/libselinux.so.1 (0xb6f49000)
        libutil.so.1 => /lib/tls/i686/cmov/libutil.so.1 (0xb6f45000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb6f42000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb6f3d000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb6f1c000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb6ef9000)
        libgailutil.so.18 => /usr/lib/libgailutil.so.18 (0xb6ef1000)
        libasound.so.2 => /usr/lib/libasound.so.2 (0xb6e2b000)
        libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb6e12000)
        libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0xb6e02000)
        libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0xb6dfe000)
        libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xb6dad000)
        libsepol.so.1 => /lib/libsepol.so.1 (0xb6d6b000)



More information about the EUGLUG mailing list