A question about konqueror reload page memory leaks.

Waldo Bastian bastian at kde.org
Sat Nov 26 04:11:55 CET 2005


You can use valgrind to check for lost allocations. Make sure to disable the 
arena allocator in khtml first, otherwise it's not very accurate.

Cheers,
Waldo

On Friday 25 November 2005 00:36, you wrote:
> Dear:
>     Thank you for your reply. I had do it as you say ,but I have also
> tested the memory usage in page switch .For example: from page A to page B
> and then from Page B to Page A,
> the vmData incresed ,the result information is
>
> page A (1)      VmData: 2756 KB
> page B (2)      VmData: 2744 KB
> page A (3)      VmData: 2756 KB
> page B (4)      VmData: 2744 KB
> page A (5)      VmData: 2788 KB
> page B (6)      VmData: 2884 KB
> page A (7)      VmData: 2872 KB
> page B (8)      VmData: 2884 KB
> page A (9)      VmData: 3016 KB
> page B (10)     VmData: 3064 KB
> page A (11)     VmData: 2872 KB
> page B (12)     VmData: 2884 KB
> page A (13)     VmData: 3000 KB
> page B (14)     VmData: 3064 KB
> page A (15)     VmData: 3016 KB
> page B (16)     VmData: 2884 KB
> page A (17)     VmData: 3056 KB
> page B (18)     VmData: 3008 KB
> page A (19)     VmData: 3140 KB
> page B (20)     VmData: 3024 KB
> page A (21)     VmData: 3156 KB
> page B (22)     VmData: 3024 KB
> page A (23)     VmData: 3164 KB
> page B (24)     VmData: 3024 KB
> page A (25)     VmData: 3104 KB
> page B (26)     VmData: 3024 KB
> page A (27)     VmData: 3180 KB
> page B (28)     VmData: 3024 KB
> page A (29)     VmData: 3268 KB
> page B (30)     VmData: 3064 KB
> page A (31)     VmData: 3172 KB
> page B (32)     VmData: 3096 KB
> page A (33)     VmData: 3252 KB
> page B (34)     VmData: 3096 KB
> page A (35)     VmData: 3208 KB
> page B (36)     VmData: 3132 KB
> page A (37)     VmData: 3296 KB
> page B (38)     VmData: 3252 KB
> page A (39)     VmData: 3096 KB
> page B (40)     VmData: 3208 KB
> page A (41)     VmData: 3132 KB
> page B (42)     VmData: 3296 KB
> page A (43)     VmData: 3156 KB
> page B (44)     VmData: 3280 KB
> page A (45)     VmData: 3180 KB
> page B (46)     VmData: 3304 KB
> page A (47)     VmData: 3204 KB
>
> The memory increased ,it's true?
>
> I can not find the memory increasment rule .Could you tell me why?
>
> Specially ,I am using the konqueror embedded 3.0.The CachedImage
> CachedCSSStyleSheet and CachedScript and html page cache is removed from
> konqE.I think the memory increasment is not caused by cache. ECMA binding
> or others result in the memory increasment ? Please give me some ideas for
> further memory debug. Thank you very much !
>
>      Best regards
>
>                                       wei wang
>
> >From: Waldo Bastian <bastian at kde.org>
> >To: �?宸?<wang_wei_zte at hotmail.com>
> >Subject: Re: A question about konqueror reload page memory leaks.
> >Date: Thu, 24 Nov 2005 22:39:14 -0800
> >
> >"ps aux" doesn't report the actual amount of memory in
> >use by the application but the amountof memory that has been assigned to
>
> the
>
> >application. The assigned amount my increase slightly due to fragmentation
>
> of
>
> >memory even though the actual amount that is _used_ remains constant.
> >
> >In the output that you quote you can see that the actual increase in
>
> assigned
>
> >memory due to the second reload is already much less that the increase due
>
> to
>
> >the first reload.
> >
> >To see if there is really a leak, reload the page 20 times and compare the
> >memory usage after the 10th time with the memory usage after the 20th
>
> time.
>
> >Instead of using "ps aux" look at the VmData field in /proc/<pid>/status,
> >it's a more reliable indicator.
> >
> >Make sure the page doesn't contain random advertisements. Images used in
>
> the
>
> >advertisement will be cached (at least temporary) and will increase memory
> >usage each time a new advertisement is loaded.
> >
> >Cheers,
> >Waldo
> >
> >On Tuesday 22 November 2005 19:15, you wrote:
> > > Dear:
> > >     When I using the konqueror ,reload a page with javascript enabled
>
> ,then
>
> > > memory increasing ,why ? the kjs and khtml have memory leak! I using
>
> the
>
> > > kde 3.3.Is it a khtml internal problem? Could you tell me how to
>
> resolve it
>
> > > ? Thanks a lot !Waiting for your reply!
> > >
> > >     Best Regards
> > >
> > >                                             wei wang
> > >
> > > Spec:
> > > 1 KDE 3.3 konqueror
> > > 2 ps aux |grep konq  (before and after reload)
> > > the result information are
>
> /**************************************************************************
>
> > >*********************************************/
> > >
> > >     Before reload ( 52576)
> > >
> > > root      7794  7.1  3.8 52576 29904 ?       S    11:04   0:02 kdeinit:
> > > konqueror --silent
> > > root      7795  0.5  1.7 30184 13660 ?       S    11:04   0:00 kdeinit:
> > > kio_audiocd audiocd /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorUdCXqa.slave-socket
> > > root      7796  0.1  1.6 27204 13072 ?       SN   11:04   0:00 kdeinit:
> > > kio_thumbnail thumbnail /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorbF5STb.slave-socket
> > > root      8019  0.2  1.5 27748 12004 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorZdYzja.slave-socket
> > > root      8021  0.2  1.5 27748 11940 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorMg5ZKb.slave-socket
> > > root      8022  0.2  1.5 27748 11912 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorw53Gdb.slave-socket
> > > root      8847  0.4  1.5 27748 11892 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerork1KSba.slave-socket
> > > root      8848  0.4  1.5 27748 11892 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorlO6Hra.slave-socket
> > > root      8849  0.4  1.5 27748 11932 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorLdp8Oa.slave-socket
> > > root      9296  0.0  0.0  3940  720 pts/5    S+   11:05   0:00 grep
> > > konqueror
>
> /**************************************************************************
>
> > >*********************************************/
> > >
> > >  After first reload   ( 54068)
> > >
> > > root      7794  2.5  4.0 54068 31456 ?       S    11:04   0:03 kdeinit:
> > > konqueror --silent
> > > root      7795  0.1  1.7 30184 13660 ?       S    11:04   0:00 kdeinit:
> > > kio_audiocd audiocd /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorUdCXqa.slave-socket
> > > root      7796  0.0  1.6 27204 13072 ?       SN   11:04   0:00 kdeinit:
> > > kio_thumbnail thumbnail /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorbF5STb.slave-socket
> > > root      8019  0.0  1.5 27748 12004 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorZdYzja.slave-socket
> > > root      8021  0.0  1.5 27748 11940 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorMg5ZKb.slave-socket
> > > root      8022  0.0  1.5 27748 11936 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorw53Gdb.slave-socket
> > > root      8847  0.0  1.5 27748 11936 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerork1KSba.slave-socket
> > > root      8848  0.0  1.5 27748 11936 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorlO6Hra.slave-socket
> > > root      8849  0.0  1.5 27748 11940 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorLdp8Oa.slave-socket
> > > root     13660  0.5  1.5 27748 11936 ?       S    11:06   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorV80Qqc.slave-socket
> > > root     13880  0.0  0.0  3932  700 pts/5    R+   11:06   0:00 grep
> > > konqueror
>
> /**************************************************************************
>
> > >*********************************************/
> > >
> > >   After seconde reload   ( 54136 )
> > >
> > > root      7794  2.1  4.0 54136 31516 ?       S    11:04   0:03 kdeinit:
> > > konqueror --silent
> > > root      7795  0.0  1.7 30184 13660 ?       S    11:04   0:00 kdeinit:
> > > kio_audiocd audiocd /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorUdCXqa.slave-socket
> > > root      7796  0.0  1.6 27204 13072 ?       SN   11:04   0:00 kdeinit:
> > > kio_thumbnail thumbnail /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorbF5STb.slave-socket
> > > root      8019  0.0  1.5 27748 12004 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorZdYzja.slave-socket
> > > root      8021  0.0  1.5 27748 11940 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorMg5ZKb.slave-socket
> > > root      8022  0.0  1.5 27748 11940 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorw53Gdb.slave-socket
> > > root      8847  0.0  1.5 27748 11936 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerork1KSba.slave-socket
> > > root      8848  0.0  1.5 27748 11936 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorlO6Hra.slave-socket
> > > root      8849  0.0  1.5 27748 11940 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorLdp8Oa.slave-socket
> > > root     13660  0.0  1.5 27748 11936 ?       S    11:06   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorV80Qqc.slave-socket
> > > root     16769  0.0  0.0  3932  692 pts/5    R+   11:07   0:00 grep
> > > konqueror
>
> /**************************************************************************
>
> > >*********************************************/
> > >
> > >  After third reload   ( 54308  )
> > >
> > > root      7794  2.0  4.0 54308 31592 ?       S    11:04   0:04 kdeinit:
> > > konqueror --silent
> > > root      7795  0.0  1.7 30184 13660 ?       S    11:04   0:00 kdeinit:
> > > kio_audiocd audiocd /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorUdCXqa.slave-socket
> > > root      7796  0.0  1.6 27204 13072 ?       SN   11:04   0:00 kdeinit:
> > > kio_thumbnail thumbnail /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorbF5STb.slave-socket
> > > root      8019  0.0  1.5 27748 12004 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorZdYzja.slave-socket
> > > root      8021  0.0  1.5 27748 11940 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorMg5ZKb.slave-socket
> > > root      8022  0.0  1.5 27748 11940 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorw53Gdb.slave-socket
> > > root      8847  0.0  1.5 27748 11936 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerork1KSba.slave-socket
> > > root      8848  0.0  1.5 27748 11936 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorlO6Hra.slave-socket
> > > root      8849  0.0  1.5 27748 11940 ?       S    11:04   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorLdp8Oa.slave-socket
> > > root     13660  0.0  1.5 27748 11936 ?       S    11:06   0:00 kdeinit:
> > > kio_http http /tmp/ksocket-root/klaunchero1Apoa.slave-socket
> > > /tmp/ksocket-root/konquerorV80Qqc.slave-socket
> > > root     17441  0.0  0.0  3932  712 pts/5    R+   11:08   0:00 grep
> > > konqueror
> > >
> > > _________________________________________________________________
> > > 免费下载 MSN Explorer:   http://explorer.msn.com/lccn/
> >
> ><< attach3 >>
>
> _________________________________________________________________
> 与联机的朋友进行交流,请使用 MSN Messenger:  http://messenger.msn.com/cn
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/khtml-devel/attachments/20051126/4185d1b7/attachment.pgp


More information about the Khtml-devel mailing list