[Paraview] Memory leak in Paraview 3.6.1(?)
Olumide
50295 at web.de
Sat Jan 23 03:00:08 EST 2010
Utkarsh,
I typically use python to load groups (sometimes up to a dozen) of VTK
files generated by each run of my experiment -- opening files manually
is very tiring. However, whenever I clear the currently displayed files
(using the "delete all" Edit menu option) Paraview never seems to give
back all the memory it allocated. As such, after loading and unloading
10-20 simulations, Paraview's memory consumption is so high that I
either have to terminate the program or it crashes.
Here's the result of my typical run. I saved a small simulation to a
state file and tried opening it and then clearing the data. The reported
data is from the Windows Task manager (for some weird reason the task
manager lists that the memory allocated to the Paraview process is
greater than the process' virtual memory!?)
Initial (new instance of Paraview):
Mem usage: 75,272Mb VM: 56,256Mb
After loading state file:
Mem usage: 89,512Mb VM: 70,224Mb
After deleting all objects
Mem usage: 84,476Mb VM: 65,132Mb
Another run, this time the python scripts are used to load the two
simulation datasets. Growth in memory usage is more aggressive:
Initial (new instance of Paraview):
Mem usage: 75,304Mb VM: 56,276Mb
After loading data set 1 via Python shell/script:
Mem usage: 113,264Mb VM: 88,704Mb
After deleting all objects
Mem usage: 114,456Mb VM: 89,688Mb
After loading dataset 2 via Python shell/script:
Mem usage: 126,116Mb VM: 101,196Mb
After deleting all objects
Mem usage: 126,284Mb VM: 101,388Mb
I'm aware that memory is dynamically allocated for the python shell and
GUI, and their corresponding objects are probably kept in memory to make
future launches of the python shell faster. This would explain why some
memory isn't returned after the initial launch. However as this should
done just once, the memory consumption should not grow each time a
dataset is loaded using a Python script/GUI.
Also, after deleting a dataset and a new one is loaded, the following
the message is frequently displayed.
qDrawShadeRect: Invalid parameters
qDrawShadeRect: Invalid parameters
qDrawShadeRect: Invalid parameters
..
qDrawShadeRect: Invalid parameters
qDrawShadeRect: Invalid parameters
A few other questions/suggestions:
1. Does the python command shell have a "run python script" command? For
example: RunPythonScript("C:/Work/Data/Foo.py"). Such a feature would be
a productivity boost. Clicking on the Tools menu and pressing the run
script button is okay for loading a few datasets but tiring when there
are lots of datasets to be evaluated. Also, it would be nice if the
python command were dockable, with an autohide feature like Visual
studio. Again this would be productivity boost. In fact it would be nice
if most views had an autohide feature. This would be a quick way of
increasing the size of the view window.
2. Does Paraview 3.6.2 have a disable offset feature as
proposed/discussed here (I've searched but I can't find one):
http://tinyurl.com/yf86vwy
3. When can we expect to be able to have an external program send data
to a Paraview, in the manner suggested in the following thread:
http://tinyurl.com/yfdyp7w
I hope I'm not being too greedy. I believe I speak for the entire
community when I say we appreciate all your hard work.
Thanks,
- Olumide
-------- Original Message --------
Subject: Re: [Paraview] Memory leak in Paraview 3.6.1(?)
Date: Mon, 18 Jan 2010 18:30:41 GMT
From: Utkarsh Ayachit (utka... at kitware.com)
List: org.paraview.paraview
Is it reproducible without using Python for creating the objects?
Easiest way to try that is create the objects using python, then save
the state out, then restart paraview and load the state file to create
the objects.
Utkarsh
On Sat, Jan 16, 2010 at 1:34 AM, Olumide <502... at web.de> wrote:
This issue persists in Paraview 3.6.2, with which I've just viewed a
relatively small data set (one polysphere and about a 40 line segments).
However, after disconnecting the server, thereby unloading the data,
Paraview's memory consumption remains at 103Mb -- that's not right. Why
isn't Paraview releasing memory from purged objects. If it matters, the
objects were imported using a python script.
- Olumide
More information about the ParaView
mailing list