Version: (using KDE KDE 3.0.99)
Installed from: Compiled From Sources
Compiler: gcc 2.95.4 (debian prerelease)
I use konqueror for long periods of time, and its memory usage gradually increases with time.
When konqueror is loaded, it uses approximately 30MB (which seems like too much, but that's a separate issue). Once konqueror has been used for browsing the web for a while, it can use over 100MB.
Unfortunately, I don't have a specific website which causes this apparent memory leak. I presume that others don't see this level of memory usage, so I speculate that it might be something to do with the way I use it. After browsing a few sites, I always press the back button and hold it down to select the first site I visited. I also frequently press the back button to cancel transfers if a site does not load quickly. Perhaps there's some corner cases which aren't handled correctly. My laptop is only a 333MHz celery with 128MB, so running valgrind is a impractical.
Sorry, this isn't a very useful bug report, but I hope this helps you identify the problem.
Subject: Re: New: konqueror excessive memory usage
I had a smart idea on this. I discovered that I can use dcop to force
konqueror to browse different pages. I left a script (below) running on my
server box which simulates a browsing session. I can now reproduce the
heavy memory usage of konqueror. I used valgrind to try and identify any
leaks, and it doesn't reveal anything significant (approx 30k leaked, some
of that by libraries not part of KDE). You might need to run this script a
few times. I can get Konqueror to consume well over 100MB (based on output
of top. I also experience severe slow downs and heavy swap usage, so this
value is entirely believable - I don't think top is being misleading here)
Valgrind reports that the amount of allocated heap memory at the end is
quite small, in the order of 1MB.
I don't know enough of KDE to speculate what might be using this amount of
memory. I hope that this script will help the Konqueror developers to
reproduce and track down the problem. I don't know which configuration
options are relevant - I will provide any config files which might be
The script follows. You need to have only 1 instance of konqueror running,
and it should be freshly loaded. You might need to make the sleep period
shorter if you have a fast computer and/or a fast internet connection. My
server machine is a 1.2GHz duron, and the internet link is a 128kbps cable
(slightly reformatted to deal with line breaks)
KONQ=`dcop |grep '^konqueror-'`
for j in 1 2 3 4 5 6 7 8 9 10
for i in http://slashdot.org/ http://freshmeat.net/ \
http://theregister.co.uk http://news.bbc.co.uk/1/hi.html \
http://www.iconbar.com/ http://www.drobe.co.uk/ \
'http://bleb.org/cgi-bin/tv/all.cgi?desc=1&b=1' http://rootprompt.org/ \
dcop $KONQ qt/konqueror-mainwindow#1/qt_top_dock/locationToolBar/history \
setProperty currentText "$i"
dcop $KONQ qt/KXMLGUILClient-KActionCollection/go_url activate
Perhaps this script provokes several different memory leaks.
kjs used to produce a big memory leak. this should be fixed with 3.1.