Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Feb 2006 19:00:58 +1100
From:      Peter Jeremy <peterjeremy@optushome.com.au>
To:        "Daniel O'Connor" <doconnor@gsoft.com.au>
Cc:        freebsd-current@freebsd.org
Subject:   Re: KDE 3.5.0 seems much chubbier than 3.4.2
Message-ID:  <20060202080058.GC921@turion.vk2pj.dyndns.org>
In-Reply-To: <200602021812.59001.doconnor@gsoft.com.au>
References:  <200601301652.16237.doconnor@gsoft.com.au> <200602020952.39010.doconnor@gsoft.com.au> <20060202071137.GB921@turion.vk2pj.dyndns.org> <200602021812.59001.doconnor@gsoft.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help

--96YOpH+ONegL0A3E
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, 2006-Feb-02 18:12:56 +1030, Daniel O'Connor wrote:
>On Thursday 02 February 2006 17:41, Peter Jeremy wrote:
>> On Thu, 2006-Feb-02 09:52:22 +1030, Daniel O'Connor wrote:
>> >Also, xrestop shows X using 120Mb of pixmaps.
>> >X's size is 315M, and I have a 64Mb video card.
>> >
>> >64 + 120 =3D 184
>> >315 - 184 =3D 131
>> >
>> >ie 131Mb of space that X is using but no obvious reason..
>>
>> There's a lot more to X than the video memory and pixmaps.
>
>Sure, but 131Mb is a lot of "other".

Yes, I suspect that some of that is freed memory that hasn't been
released.

>> In my case (this is X.org 6.9.0 on 6-stable/amd64 but the principle is
>> the same), I have 32MB video RAM, 28MB pixmaps and ps report that X
>> is using 78MB - a difference of 18M.
>>
>> If I look at the process memory map (see procfs(5)), the breakdown is:
>> 38MB  vnode backed (mostly shared libraries)
>> 32MB  device (video memory)
>>  6.75MB swap + default (malloc'd space, stack etc)
>>
>> This suggests that X is storing a lot of pixmaps in video RAM (for
>> efficiency).
>
>[inchoate 18:12] ~ >ps -axw| grep  bin/X
>  826  ??  S     66:52.15 /usr/X11R6/bin/X -nolisten tcp :0 -auth /var/run=
/xauth/A:0-lKynIa (Xorg)
>[inchoate 18:12] ~ >sudo cat /proc/826/map
>cat: /proc/826/map: File too large
>
>Broken in -current?

Pilot error.  /proc/.../map is a text file but has "unusual" semantics
to ensure atomicity - you have to issue a read with a big enough block
size that the entire map can be fetched in a single read.  The following
is off a -current sysem (but pre-jemalloc running X.org 6.8.2).

The X server is 81204KB virtual, 62228KB resident.

server# ps -axlww|grep n/X
    0   712   709   1  96  0 81204 62228 select Ss    ??    6:21.92 /usr/X1=
1R6/bin/X -nolisten tcp -once :2 -auth /usr/X11R6/lib/X11/xdm/authdir/authf=
iles/A:2-g79Knf (Xorg)
server# dd if=3D/proc/712/map bs=3D64k
0x8048000 0x81c2000 319 0 0xc3a70438 r-x 4 2 0x0 COW NC vnode /usr/X11R6/bi=
n/Xorg
0x81c2000 0x81d1000 15 0 0xc3a4f9d8 rw- 1 0 0x2180 COW NNC vnode /usr/X11R6=
/bin/Xorg
0x81d1000 0x81e3000 17 0 0xc402d870 rw- 1 0 0x2180 COW NNC default -
0x81e3000 0x89b2000 1999 0 0xc5799bb8 rwx 1 0 0x2180 COW NNC default -
0x89b2000 0x8b4c000 409 0 0xc3a70780 rwx 1 0 0x2180 COW NNC default -
0x8b4c000 0x8b7c000 48 0 0xc4889078 rwx 1 0 0x2180 COW NNC default -
0x8b7c000 0x8c5d000 225 0 0xc567b8e8 rwx 1 0 0x2180 COW NNC default -
0x8c5d000 0x8c67000 10 0 0xc560ca50 rwx 1 0 0x2180 COW NC default -
0x8c67000 0x8fe8000 897 0 0xc3eaa5a0 rwx 1 0 0x2180 COW NNC default -
0x8fe8000 0x9322000 826 0 0xc3b367f8 rwx 1 0 0x2180 NCOW NNC default -
0x281c2000 0x281e8000 27 0 0xc103a528 r-x 125 54 0x4 COW NC vnode /libexec/=
ld-elf.so.1
0x281e8000 0x281ea000 2 0 0xc3a4fb40 rw- 1 0 0x2180 COW NC vnode /libexec/l=
d-elf.so.1
0x281ea000 0x281ef000 5 0 0xc55469d8 rw- 1 0 0x2180 COW NC default -
0x281ef000 0x28200000 9 0 0xc577d000 rwx 1 0 0x2180 COW NC swap -
0x28200000 0x2820f000 14 0 0xc1029780 r-x 38 24 0x0 COW NC vnode /lib/libz.=
so.3
0x2820f000 0x28210000 1 0 0xc3a4fca8 r-x 1 0 0x2180 COW NC vnode /lib/libz.=
so.3
0x28210000 0x28211000 1 0 0xc3a4fbb8 rwx 1 0 0x2180 COW NC vnode /lib/libz.=
so.3
0x28211000 0x28226000 11 0 0xc1028708 r-x 47 26 0x0 COW NC vnode /lib/libm.=
so.4
0x28226000 0x28227000 1 0 0xc3a4fd20 r-x 1 0 0x2180 COW NC vnode /lib/libm.=
so.4
0x28227000 0x2822a000 2 0 0xc3a4fd98 rwx 1 0 0x2180 COW NC vnode /lib/libm.=
so.4
0x2822a000 0x2822b000 0 0 0xc3a4f3c0 r-x 11 6 0x0 COW NC vnode /usr/X11R6/l=
ib/libXau.so.0
0x2822b000 0x2822c000 1 0 0xc3a70a50 r-x 1 0 0x2180 COW NC vnode /usr/X11R6=
/lib/libXau.so.0
0x2822c000 0x2822d000 1 0 0xc3a70168 rwx 1 0 0x2180 COW NC vnode /usr/X11R6=
/lib/libXau.so.0
0x2822d000 0x2822f000 2 0 0xc3a2e8e8 r-x 11 6 0x0 COW NC vnode /usr/X11R6/l=
ib/libXdmcp.so.0
0x2822f000 0x28230000 1 0 0xc3a70078 r-x 1 0 0x2180 COW NC vnode /usr/X11R6=
/lib/libXdmcp.so.0
0x28230000 0x28232000 2 0 0xc3a70708 rwx 1 0 0x2180 COW NC vnode /usr/X11R6=
/lib/libXdmcp.so.0
0x28232000 0x28301000 164 0 0xc3a4fe88 r-x 1 0 0x2180 COW NC vnode /lib/lib=
c.so.6
0x28301000 0x28302000 1 0 0xc3a70ac8 r-x 1 0 0x2180 COW NC vnode /lib/libc.=
so.6
0x28302000 0x28308000 6 0 0xc49730f0 rwx 1 0 0x2180 COW NNC vnode /lib/libc=
=2Eso.6
0x28308000 0x2831b000 9 0 0xc3f49bb8 rwx 1 0 0x2180 COW NNC default -
0x2831b000 0x2831f000 3 0 0xc3aba438 rwx 10 0 0x180 NCOW NNC device -
0x2831f000 0x2832a000 4 0 0xc3a71a50 r-x 6 4 0x0 COW NC vnode /usr/X11R6/li=
b/modules/fonts/libfreetype.so
0x2832a000 0x2832b000 1 0 0xc3a719d8 r-x 1 0 0x2180 COW NC vnode /usr/X11R6=
/lib/modules/fonts/libfreetype.so
0x2832b000 0x2832c000 1 0 0xc3a71960 rwx 1 0 0x2180 COW NC vnode /usr/X11R6=
/lib/modules/fonts/libfreetype.so
0x2832c000 0x28394000 0 0 0xc3a718e8 r-x 18 12 0x0 COW NC vnode /usr/local/=
lib/libfreetype.so.9
0x28394000 0x28395000 1 0 0xc3a71870 r-x 1 0 0x2180 COW NC vnode /usr/local=
/lib/libfreetype.so.9
0x28395000 0x28398000 3 0 0xc3a717f8 rwx 1 0 0x2180 COW NC vnode /usr/local=
/lib/libfreetype.so.9
0x28398000 0x283a8000 16 0 0xc3aba438 rwx 10 0 0x180 NCOW NNC device -
0x283a8000 0x283aa000 2 0 0xc457aca8 rwx 5 0 0x180 NCOW NNC device -
0x283aa000 0x283b2000 0 0 0xc457aca8 rwx 5 0 0x180 NCOW NNC device -
0x283b2000 0x283b4000 0 0 0xc457aca8 rwx 5 0 0x180 NCOW NNC device -
0x283bd000 0x283c4000 7 0 0xc3d5cca8 rwx 1 0 0x2180 COW NNC default -
0x283c4000 0x283de000 0 0 0xc414abb8 rwx 3 0 0x190 NCOW NNC swap -
0x28400000 0x2a400000 8192 0 0xc3aba438 rwx 10 0 0x180 NCOW NNC device -
0x2a400000 0x2ac00000 2048 0 0xc3aba438 rwx 10 0 0x180 NCOW NNC device -
0x2ac00000 0x2ac40000 9 0 0xc3aba438 rwx 10 0 0x180 NCOW NNC device -
0x2ac40000 0x2b540000 0 0 0xc457aca8 rwx 5 0 0x180 NCOW NNC device -
0x2b540000 0x2bd40000 0 0 0xc457aca8 rwx 5 0 0x180 NCOW NNC device -
0x2bd40000 0x2bda0000 50 0 0xc51fc960 rwx 3 0 0x190 NCOW NNC swap -
0x2bda0000 0x2be00000 96 0 0xc4443528 rwx 3 0 0x190 NCOW NNC swap -
0xbfba0000 0xbfbe0000 56 0 0xc56ca870 rwx 1 0 0x2180 COW NC default -
0xbfbe0000 0xbfc00000 32 0 0xc51d52d0 rwx 1 0 0x2180 COW NNC default -
0+1 records in
0+1 records out
4110 bytes transferred in 0.045363 secs (90603 bytes/sec)
server#=20

Note that my 6.9.0 map is about 3 times as large.

--=20
Peter Jeremy

--96YOpH+ONegL0A3E
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)

iD8DBQFD4bw5/opHv/APuIcRAjYAAKC0vMVccXnoVwkhzuWixUTOVaXr/wCgoK+Y
eSW7S8r5vPetFtVKNGBFn6k=
=xFtS
-----END PGP SIGNATURE-----

--96YOpH+ONegL0A3E--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060202080058.GC921>