I have 640mb of memory and X0rg-6.8.2 is taking up more then 50% (>300mb) of my total memory(640mb), this is not normal, before 6.8.2 xorg would take up significately less, < 50% (100mb) of the memory in use (usually more then 300mb free of memory). This seems to be caused by being up for about 2 days (in X) and the new release. i have Konsole with transparency, my KDE task with trans, and xchat with Trans, but they have never cause that type of memory usage. this affects the feel of the desktop, and as a side note i do have x11vnc on :0 running incase that might have an affect. yes im willing to recompile X with different c/cxxflags and/or use, to see if that is the cause. if needed i can provide more info.. below is the (partical) output of ps, xorg-x11 use flags, make.conf and uname -a. i am running gcc-3.4.3.20050110, and NPTL. Reproducible: Didn't try Steps to Reproduce: 1. running X for 2 days, with many apps and plenty of usage 2. 3. Actual Results: high level of memory being consumed Expected Results: less memory should have been consumed for a more enjoyable desktop ----------------------------------------- tuxp3 ~ # ps -A -FwLl F S UID PID PPID LWP C NLWP PRI NI ADDR SZ WCHAN RSS PSR STIME TTY TIME CMD 4 S root 1 0 1 0 1 76 0 - 366 - 120 0 Feb13 ? 00:00:01 init [4] ..... 5 S root 10346 10344 10346 0 1 76 0 - 2410 - 584 0 Feb13 ? 00:00:00 /usr/bin/gdm 4 S root 10349 10346 10349 3 1 75 0 - 90463 - 349052 0 Feb13 ? 01:21:51 /usr/X11R6/bin/X :0 -audit 0 -auth /var/gdm/:0.Xa 4 S tuxp3 10620 10346 10620 0 1 76 0 - 615 wait 144 0 Feb13 ? 00:00:00 /bin/sh /usr/kde/3.3/bin/startkde ------------------------------------------------------ [ebuild R ] x11-base/xorg-x11-6.8.2 -3dfx -3dnow +bitmap-fonts -cjk -debug -dlloader -dmx -doc +font-server -hardened -insecure-drivers -ipv6 -minimal +mmx -nls +opengl +pam -sdk +sse -static +truetype-fonts +type1-fonts (-uclibc) +xprint +xv 0 kB ------------------------------------------------------------------- USE="aac acpi aim apache2 bash-completion bigger-fonts bzlib calendar \ ctype curl curlwrappers dba dedicated dio divx4linux dvd dvdr dvdread \ ftp gd gd-external jpeg2k kdeenablefinal mmx mmx2 moznocompose \ mplayer native nptl nptlonly nvidia offensive ogg oscar php real \ rhino screenshot server session simplexml slp spl sse sse2 symlink \ threads tidy tokenizer type1 userlocales xine xinerama xprint \ xscreensaver xvid -ipv6 -oss -apm -arts -fortran -berkdb -directfb \ -esd -junit -nls -sdl -sqlite -svga" LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s" CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" ACCEPT_KEYWORDS="~x86" DISTDIR=/distfiles PKGDIR=/packages PORTDIR_OVERLAY=/usr/local/portage GENTOO_MIRRORS="http://gentoo.mirrors.pair.com/ http://gentoo.ccccom.com http://mirrors.tds.net/gentoo http://mirror.datapipe.net/gentoo http://chod.cwru.edu/gentoo ftp://linux.cs.lewisu.edu/gentoo/" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" MAKEOPTS="-j3" FEATURES="sandbox buildpkg ccache keeptemp keepwork" CCACHE_SIZE="2G" RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes DO_NOT_KDEPIM="kandy kmail knode korn kpilot kabc kmailcvt kdgantt kitchensync libpimidentities" DO_NOT_COMPILE="doc l10n ${DO_NOT_KDEPIM} " PORT_LOGDIR="/var/log/emerge/" --------------------------------------- tuxp3 ~ # uname -a Linux tuxp3 2.6.10-gentoo-r7 #1 Sun Feb 6 03:02:37 EST 2005 i686 Intel(R) Pentium(R) 4 CPU 1700MHz GenuineIntel GNU/Linux
hmm ps is hard to read, so heres top output Tasks: 72 total, 2 running, 70 sleeping, 0 stopped, 0 zombie Cpu(s): 19.6% us, 5.9% sy, 0.0% ni, 74.5% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 644744k total, 638232k used, 6512k free, 7936k buffers Swap: 0k total, 0k used, 0k free, 100044k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 10349 root 15 0 385m 341m 3392 S 5.9 54.2 82:33.61 X 21637 tuxp3 16 0 148m 34m 9604 S 0.0 5.6 3:53.17 thunderbird-bin
Try xrestop -- you'll have to emerge it. http://home.schleef.org/blog/20040726.1.html is also worth reading. Option "XaaNoPixmapCache" in the Screen section of xorg.conf might also be worth looking at, from the sounds of it -- I'm going out on a bit of a limb with this guesstimate though.
it appears (according to this program, xrestop) that a little under 60mb of memory is being used by the X server. This is an acceptable amount. But X (in top/ps) still appears to be using 300+mb maybe a memory leak? Im going to try turning on that option in my config (i can post my config if needed) and see if usage appears less (especially in ps/top) /me restarts X -------------------------------------------------------- xrestop - Display: localhost:0 Monitoring 25 clients. XErrors: 0 Pixmaps: 57060K total, Other: 137K total, All: 57198K total res-base Wins GCs Fnts Pxms Misc Pxm mem Other Total PID Identifier 1800000 56 57 3 88 93 24611K 7K 24619K ? xterm - Root Console No. 2 - Konsole 1000000 107 37 3 69 80 10330K 8K 10338K ? KDE Desktop 2400000 645 69 3 372 263 5330K 25K 5355K ? Notes - Kontact .... cut output ....
I have suffered this problem for a while now. I'm using 6.8.0-r4 and it occurred in previous versions too. Apart from the long term creep effect noted by Andrew, I've found some apps bring out the symptoms very quickly: just browsing through the menus in emacs-cvs (no matter which toolkit) can _sometimes_ make the memory usage of X jump by many 10s of megs at a time. Eventually emacs always triggers the problem and causes X to eat up all available memory. Opening a large book with gpdf _always_ eats up almost the whole lot (512MB) straight away. Closing the offending app causes X to freeze (including the mouse cursor), a lot of swapping seems to happen and then the app is exited but the X memory usage remains and the WM is sluggish and other apps behave less well. Watching xrestop while gpdf is loading a book, I saw that the only noticeable activity was a steady increase in the "Misc" column which grew to > 60000 in parallel with top reporting X's memory usage growing beyond 450 MB. The Option XaaNoPixmapCache had no effect.
Seems this bug has appeared in xfree86 on debian and xorg on ubuntu too. http://lists.debian.org/debian-x/2004/12/msg00393.html
The right place for this bug is really bugs.freedesktop.org. It would be helpful if you'd file it there and post the URL here.
There was already one just started that looked like it might be the same one: https://bugs.freedesktop.org/show_bug.cgi?id=2590
Does the problem exist if you login as root?
No it doesn't - well spotted Gogiel! I logged in as root, started X, opened a terminal and saw 16M in use. Then I started up emacs and it went up to 17M. Then I got emacs to display as many tooltips as would normally have sent the X memory up a 100M or more but there was no change at all! Finally I loaded up a large book in gpdf which would normally have eaten every last byte of my memory, yet X managed to consume a paltry 52M. The best bit was when I closed emacs and gpdf and X immediately released every last drop of the extra memory it had used and went back to 16M. This new information should go in the freedesktop.org bug report and I'll confirm it too. I don't suppose you have any idea what is different about running X logged in as root that could cause the bug to disappear?
Do you have that problem in older versions? I've just emerged xorg-6.7.0 and problem still exist :((
Yes - I'm fairly sure I had the same problem even in XFree86. Please add to the bug report at freedesktop.org otherwise this bug will never get fixed. BTW, what is your video card driver module?
I've got Nvidia card (driver nvidia). Changing to nv or vesa doesnt help.
As a side note: Hayes, Gogiel, andrew, you guys notice anything in common in your setups? In particular: 1) Video card (Gogiel has nVidia) 2) USE flags 3) CFLAGS/LDFLAGS (andrew's are pretty light, so probably not an issue. I use the same LDFLAGS on all my machines without a problem.) 4) Hardware - especially CPU type (P4 1.7 - that's P4A) 5) Anything special you're doing with the kernel. This probablem seems to have been around for awhile, so it'd be hard to think that the kernel has to do with it. However, if one of you wants to try the vanilla kernel or the like that'd be great.
Sorry: probablem = problem.
AMD Athlon(tm) XP 2600+ Kernel 2.6.10-gentoo-r6 (fbsplash) CFLAGS="-O2 -march=athlon-xp -pipe -msse -s -mfpmath=sse" CXXFLAGS="-O2 -march=athlon-xp -pipe -msse -s -mfpmath=sse" # LDFLAGS="-Wl,-O1" CHOST="i686-pc-linux-gnu" MAKEOPTS="-j2" GENTOO_MIRRORS="http://gentoo.prz.rzeszow.pl" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" PORTDIR_OVERLAY="/usr/local/portage" #SYNC="http://gentoo.prz.rzeszow.pl" USE="X 3dnow glut mmx sse mmx2 dvd dvdread gd apache2 arts pic nptl esd ethereal ftp gif gnome gtk gtk2 java jpeg nmap mpeg oss alsa oggvorbis opengl qt samba shared sdl ssl svg xml gpm png quicktime xmms zlib x86 python acpi aalib bzlib cdr wxwindows" LINGUAS="pl" ACCEPT_KEYWORDS="x86" ALSA_CARDS="intel8x0"
Now i compiled Linux 2.6.11 - didn't help.
ATI r128 USE="x86 3dnow X X509 Xaw3d aac aalib acpi alsa ansi apache2 apm atlas auctex avi berkdb bigger-fonts bitmap-fonts cdparanoia chroot clisp crypt cscope cups curl custreloc dillo dlloader dlopen doc dvd emacs emboss encode exif extensions fam ffmpeg flac foomaticdb fortran gdbm gif gimpprint glut gmp gnutls graphviz gs gstreamer gtk gtk2 gtkhtml guile imagemagick imlib imlib2 java jbig jpeg lcms libcaca libg++ libwww lzw mad mbox mikmod mmap mmx mng motif mozilla moznocompose moznoirc mp3 ncurses nls nptl objc oggvorbis opengl openssh oss pam pcre pdflib physfs pic png ppds python qt quicktime readline sdl sftplogging slang sndfile speex spell sse ssl svg t1lib tcltk tcpd tetex theora threads tiff truetype truetype-fonts type1-fonts unicode usb xface xml xml2 xmms xrandr xv zlib" CFLAGS="-pipe -O2 -fgcse -fomit-frame-pointer -march=athlon-xp" AMD Athlon(tm) XP 2200+ 2.6.10 development-sources I'm booting with 'vga=289' and also 'acpi_skip_timer_override' for some bug I can't even remember. The video card has always been the same, CPU and mobo have changed once or twice and the USE and CFLAGS flags have changed a lot, as has the kernel.
From the descriptions in this bug it looks to be due to the animated cursor memory leak which was just fixed in Xorg upstream and Gentoo bug 31982. http://cvs.freedesktop.org/xorg/xc/lib/Xcursor/cursor.c?r1=1.3&r2=1.4 Duplicate?
Confirmed (for me at least): I switched off the animated cursor and the memory leak ceased.
Andrew: is your memory usage problem caused by animated cursors? If so, this problem will be fixed in the next xorg snapshot/release as seen in http://bugs.gentoo.org/show_bug.cgi?id=31982 and https://bugs.freedesktop.org/show_bug.cgi?id=1043 .
I'm having this problem too and it's driving me crazy! Quite irritating having to restart X two or three times a day. However, to the best of my knowledge I'm not using any special cursors, just what came as standard using a combination of fglrxconfig and X -configure. How do I check what cursor I'm using? I would include the USE flags X.org was compiled with but all I could find to do it with was "equery uses". The output is pretty long compared to Andrews above. Top output: 2711 root 16 0 213m 155m 8932 R 11.6 30.9 9:20.01 X
Carl: The easiest way to see what USE flags it has been compiled with is 'emerge -pv =x11-base/xorg-x11-6.8.2-r1' (replace with the version you have installed).
do not, under any circumstances, use ps(1) to measure how much memory X is taking. pmap(1) output is far more useful: # pmap -x $(pidof X) this output will be long, so please _attach_ it to the bug rather than pasting it into the Comments box. and of course please try an X with the animated cursor leak fixed (6.8.99.13 or later; don't know if that fix has made it into the gentoo patchset for 6.8.2).
Nope, it's still on the todo for 6.8.2-r2.
I finally resolved my problem by removing LD_PRELOAD=/usr/lib/libGL.so.1 in /etc/profile.
Just added the cursor patch to 6.8.2-r2, patchset 0.1.7. You can find your patchset version by grepping the ebuild for ^PATCH_VER.
(In reply to comment #26) > Just added the cursor patch to 6.8.2-r2, patchset 0.1.7. You can find your > patchset version by grepping the ebuild for ^PATCH_VER. It doesn't work (0.1.8).
(In reply to comment #27) > It doesn't work (0.1.8). What do you mean? The ebuild fails on unpacking? On compiling? You still get a memory leak? Please be clearer.
(In reply to comment #28) I still get the memory leak with animated cursors.
Created attachment 62423 [details] Output of pmap -x for the X process
I posted my pmap -x output as an attachment. Today I again noticed X memory allocation growing slowly (through top, but still). Here are the USE-flags it's compiled with: [ebuild R ] x11-base/xorg-x11-6.8.2-r1 -3dfx -3dnow +bitmap-fonts -cjk -debug -dlloader -dmx -doc -font-server* -hardened -insecure-drivers +ipv6 -minimal +mmx +nls +opengl +pam -sdk +sse -static +truetype-fonts +type1-fonts (-uclibc) -xprint +xv 0 kB My desktop enviroment is Gnome and I use aMule (with the unstable wxGTK) alot if that could somehow relate to our problems. Lastly, emerge info: Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.11-gentoo-r8 i686) ================================================================= System uname: 2.6.11-gentoo-r8 i686 Intel(R) Pentium(R) 4 CPU 2.60GHz Gentoo Base System version 1.6.12 Python: dev-lang/python-2.3.5 [2.3.5 (#1, May 5 2005, 14:50:57)] distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.5 sys-apps/sandbox: [Not Present] sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.16 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo/ ftp:///ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp6.uni-erlangen.de/pub/mirrors/gentoo ftp://vlaai.snt.ipv6.utwente.nl/pub/os/linux/gentoo/" LANG="sv_FI.utf8" LC_ALL="sv_FI.utf8" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 S3TC X a52 acpi alsa apm arts avi berkdb bitmap-fonts bonobo cdr crypt css cups curl divx4linux dvd dvdr dvdread eds emboss encode esd evms2 evo fam flac foomaticdb fortran gdbm gif glut gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml hal i8x0 icq imagemagick imap imlib ipv6 jabber jack java joystick jpeg jpeg2k junit kde kdeenablefinal ldap libg++ libwww lm_sensors mad maildir matroska mbox mikmod mjpeg mmap mmx mmx2 motif mozilla mp3 mpeg mpeg4 mplayer mysql ncurses nls nptl ogg oggvorbis opengl oss pam pdflib perl php png pnp ppds python qt quicktime readline real remix rhythmbox rtc samba sdl server slang sounds spell sse sse2 ssl subtitles svga tcltk tcpd tetex theora tiff timidity transcode truetype truetype-fonts type1-fonts unicode usb userlocales utf8 vnc vorbis wxwindows xine xml xml2 xmms xscreensaver xv xvid zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CBUILD, CTARGET, LDFLAGS, LINGUAS
(In reply to comment #31) > I posted my pmap -x output as an attachment. Today I again noticed X memory > allocation growing slowly (through top, but still). Here are the USE-flags it's > compiled with: > > [ebuild R ] x11-base/xorg-x11-6.8.2-r1 You aren't using -r2, which has the cursor memory leak patched.
I'll try it, but as I said earlier I haven't applied or changed anything to get anything but a stock cursor.
I tried xorg-x11-6.8.2-r2 but I had problems with the keyboard layout. It wouldn
I tried xorg-x11-6.8.2-r2 but I had problems with the keyboard layout. It wouldn´t work as usual and gnome-keyboard-properties crashed everytime I tried to start it. This was from the log output: (**) Keyboard1: XkbRules: "xorg" (**) Option "XkbModel" "pc105" (**) Keyboard1: XkbModel: "pc105" (**) Option "XkbLayout" "fi" (**) Keyboard1: XkbLayout: "fi" (**) Option "CustomKeycodes" "off" (**) Keyboard1: CustomKeycodes disabled (II) XINPUT: Adding extended input device "Keyboard1" (type: KEYBOARD) (II) XINPUT: Adding extended input device "Keyboard0" (type: KEYBOARD) (II) XINPUT: Adding extended input device "Mouse0" (type: MOUSE) (EE) Couldn't open compiled keymap file /usr/lib/X11/xkb/compiled/server-0.xkm (EE) Couldn't load XKB keymap, falling back to pre-XKB keymap (EE) Couldn't open compiled keymap file /usr/lib/X11/xkb/compiled/server-0.xkm (EE) Couldn't load XKB keymap, falling back to pre-XKB keymap
I got the xkb issue resolved, as described here: http://forums.gentoo.org/viewtopic-t-348349-highlight-.html It didn't have anything to do with the -r2 ebuild. So. I've been running xorg-x11-6.8.2-r2 today. I even added the fancy cursors, looks nice :) But now at the end of the day, X seems to take up a lot of memory anywag. Will post pmap as attachment again.
Created attachment 62558 [details] pmap -x for the X process (the -r2 ebuild this time)
After some experimenting watching X grow/shrink in top while starting/running/stopping aMule I think aMule (or some library it depends on?) in involved. I would like to stress that for me it IS the X process growing/failing to shrink back after aMule is terminated. I'm not sure if this belongs in this bug since most other people here had the cursor-problem with the unpatched -r1. I'll open a discussion in the forums to see if other people have the same problems first.
I've recently upgraded to gtk+-2.8.8 from 2.6.10 and can no longer reproduce this bug.
(In reply to comment #38) > I've recently upgraded to gtk+-2.8.8 from 2.6.10 and can no longer reproduce > this bug. > Anyone else confirm this? Andrew, you haven't commented on this bug for awhile. Do you see any issues anymore?
This problem seems to have gone away for me (running 6.8.2-r6). Soon I'm going to upgrade to modular, and see if this happens at all. (as an FYI, the problem went away after I rebooted, It seems that upgrading X versions without a reboot is what caused it.) Thanks, Andrew
(In reply to comment #40) > (as an FYI, the problem went away after I rebooted, It seems that upgrading X > versions without a reboot is what caused it.) Restarting X (completely) should have sufficed. In any case, I'm going to close this bug as fixed until someone reports still having the problem with 6.8.2-r6 or, more importantly, 7.0. It would appear, however, that Andrew's particular problem is fixed, so I would encourage whoever seems to be having this problem investigate further into what is causing it and creating new bugs based on this info (such as Carl seeing aMule causing his issues).
(In reply to comment #41) > In any case, I'm going to close this bug as fixed until someone reports still > having the problem with 6.8.2-r6 or, more importantly, 7.0. It would appear, > however, that Andrew's particular problem is fixed, so I would encourage > whoever seems to be having this problem investigate further into what is > causing it and creating new bugs based on this info (such as Carl seeing aMule > causing his issues). Good news - I've just reinstalled the whole of Gentoo (with a gcc upgrade needed too, I figured it'd be easier that way). I also made the whole lot install ~x86 since I'd ended up with a very long list in package.keywords over the years. So I'm now running the modular X.org (7.0) and this bug appears to have *completely* vanished (although it had improved after the GTK+ upgrade, X.org 6.8 still used up rather more memory than it did without animated cursors). In fact this upgrade has also fixed some awful problem with opengl/dri that had mysteriously developed on my system and font rendering seems to have improved markedly. I am very pleased with this release so far. Thank you and well done to all those responsible :)