# Xorg - zużycie pamięci

## frugo3000

Od dłuższego czasu zauważam kosmiczne użycie pamięci przez xorg. Po starcie systemu wynosi ono ~80MB.

```
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

4353 root      20   0  186m  84m 7556 S   11  4.2   2:38.07 X
```

Jednak wraz z czasem wzrasta ono do kosmicznych wartości. Wczoraj było to 245MB po 10godzinach pracy. Skompilowanie xów z flagą minimal nie pomogło.

```
# emerge --info

Portage 2.1.4.4 (default-linux/amd64/2007.0/desktop, gcc-4.2.3, glibc-2.7-r1, 2.6.24-zen1 x86_64)

=================================================================

System uname: 2.6.24-zen1 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 3600+

Timestamp of tree: Fri, 07 Mar 2008 19:47:01 +0000

ccache version 2.4 [enabled]

app-shells/bash:     3.2_p33

dev-java/java-config: 1.3.7, 2.1.5

dev-lang/python:     2.5.1-r5

dev-util/ccache:     2.4-r7

sys-apps/baselayout: 2.0.0_rc6-r1

sys-apps/sandbox:    1.2.18.1-r2

sys-devel/autoconf:  2.13, 2.61-r1

sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1

sys-devel/binutils:  2.18-r1

sys-devel/gcc-config: 1.4.0-r4

sys-devel/libtool:   1.5.26

virtual/os-headers:  2.6.24

ACCEPT_KEYWORDS="amd64 ~amd64"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=k8 -O2 -pipe -fomit-frame-pointer -msse3"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"

CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"

CXXFLAGS="-march=k8 -O2 -pipe -fomit-frame-pointer -msse3"

DISTDIR="/usr/portage/distfiles"

FEATURES="ccache distlocks metadata-transfer parallel-fetch sfperms strict unmerge-orphans userfetch"

GENTOO_MIRRORS="http://src.gentoo.pl http://gentoo.inode.at/ ftp://gentoo.inode.at/source/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://gentoo.mirror.web4u.cz/ ftp://gentoo.mirror.web4u.cz/ http://mirror.ovh.net/gentoo-distfiles/ ftp://mirror.ovh.net/gentoo-distfiles/ http://src.gentoo.pl http://gentoo.prz.rzeszow.pl http://gentoo.zie.pg.gda.pl "

LANG="pl_PL.UTF-8"

LC_ALL="pl_PL.UTF-8"

LINGUAS="pl"

MAKEOPTS="-j4"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage/portage-tree"

PORTDIR_OVERLAY="/usr/portage/layman/frugo3000 /usr/portage/layman/custom-kernels /usr/portage/layman/desktop-effects /usr/portage/layman/vdr-1.5 /usr/portage/layman/vdr-experimental /usr/portage/layman/vdr-testing"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="3dnow 3dnowext X a52 aac aalib acl acpi alsa amd64 bash-completion berkdb bluetooth bzip2 cairo cddb cdr cli cracklib crypt cups dbus dri dts dvd dvdr dvdread eds emboss encode evo fam ffmpeg firefox flac fortran ftp gdbm gif glitz gpm hal iconv imagemagick isdnlog javascript joystick jpeg kde kdeenablefinal kdehiddenvisibility kdexdeltas kerberos lm_sensors logitech-mouse mad matroska midi mikmod mmx mmxext mp3 mpeg mplayer mudflap ncurses nls nognome nptl nptlonly nsplugin nvidia obex ogg openal opengl openmp oss pam pcre pdf perl png pppd python qt qt-support qt3 qt3support qt4 quicktime readline realmedia recode reflection reiserfs sdl session slang sox spell spl sse sse2 ssl svg tcpd threads tiff transparency truetype truetype-fonts unicode usb v4l v4l2 vdr vorbis wmf x264 xcomposite xml xorg xosd xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl" LIRC_DEVICES="devinput" USERLAND="GNU" VIDEO_CARDS="vesa"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
```

----------

## SlashBeast

U mnie po 4h i 55m twierdzi, że je 443M.

----------

## RA6

U mnie:

  PID  USER    PR  NI  VIRT  RES  SHR  S %CPU %MEM     TIME+  COMMAND

28081 root      20   0 97212  59m 5368 S    3       5.9    42:39.00   X

Zużycie pamięci przez Xy zależy od używanej karty graficznej i ustawień xorg.conf oraz środowiska pracy. W twoim wypadku największy narzut pamięci spowodowany jest 64bitową architekturą procesora lecz to nie jest przyczyną tych problemów. Wycieków pamięci poszukał bym w kde i aplikacjach qt  :Wink:  Nie jestem tego pewny, ale wydaje się to jak najbardziej prawdopodobne.

----------

## frugo3000

Wydaje mi się jednak, że xorg powinien automatycznie zwalniać niepotrzebnie używaną pamięć. Nawet gdy się wyloguje i z aplikacji graficznych jest otwarty sam kdm, to zużycie ramu spada jedynie o kilka MB. U kolegi z wieloma otwartymi aplikacjami pod kde nie przekracza 50MB. Fakt, faktem mam spooooro nieużywanej pamięci, jednak czuję pewien dyskomfort   :Wink: 

----------

## SlashBeast

Uzywam fluxbox i innego lekkiego softu. i ponad 400M xorg zajmuje !?

----------

## frugo3000

coś zdecydowanie jest nie tak

----------

## Ravak

Czy to na pewno wyciek pamieci? Wczoraj natrafilem na dwa artykuly:

Z http://techpatterns.com/forums/about687.html

 *Quote:*   

> It could also have mentioned mappings on /dev. For example, the X server, on a system with a 256MB graphics adapter, will map all that memory into its address space, making X look huge, even though it's not using all that much system RAM. This will show up as a device-backed mapping in the maps file.
> 
> On a related note, X also looks big because it's holding pixmaps belonging to various applications (Firefox comes to mind).

 

 *Quote:*   

> Device mappings show up as consumed memory (which generates plenty of XFree86/xorg complaints).

 

Takze z http://virtualthreads.blogspot.com/2006/02/understanding-memory-usage-on-linux.html

 *Quote:*   

> Depending on how you look at it, ps is not reporting the real memory usage of processes. What it is really doing is showing how much real memory each process would take up if it were the only process running.

 

----------

## frugo3000

 *RA6 wrote:*   

> W twoim wypadku największy narzut pamięci spowodowany jest 64bitową architekturą procesora

 

Aż tak duża różnica w zużyciu pamięci jest pomiędzy architekturą 32, a 64bitową?  :Shocked: 

----------

