[Paraview] Help with memory crash?

Nikolaos Beratlis nikos.beratlis at gmail.com
Thu Jan 8 12:57:14 EST 2015


After reading about memory leaks I modified the script at the end by adding
"del" after "Delete":

  Delete(DataRepresentation4)
  del DataRepresentation4
  Delete(Contour2)
  del Contour2
  Delete(DataRepresentation3)
  del DataRepresentation3
  Delete(Q_VP_xmf)
  del Q_VP_xmf
  Delete(DataRepresentation2)
  del DataRepresentation2
  Delete(Contour1)
  del Contour1
  Delete(DataRepresentation1)
  del DataRepresentation1
  Delete(cf_VP_xmf)
  del cf_VP_xmf

That should fully delete the objects from the memory and it helped a little
but I still have memory leaks. Before the script memory usage in the Memory
Inspector is 1.4Gb and after one iteration it increases to 4Gb, compared to
10Gb without the del statements. After 4 iterations the memory usage
increases to 8Gb. Any ideas on how to track and eliminate completely the
memory leaks? I am forgetting to delete an object from the script?



On Wed, Jan 7, 2015 at 9:17 PM, Nikolaos Beratlis <nikos.beratlis at gmail.com>
wrote:

> So I did some more tests by running the script interactively. I used a
> smaller grid first, 2002 x 20 x 1000 points and ran it only for 1
> iteration. When Paraview loaded the memory usage on the server was 1.04GB.
> After doing one iteration the memory usage spiked to 10.42GB and remained
> like that when the script finished. What I found out is the Delete
> statements make no difference at all, with or without them the memory usage
> remained 10.42GB. Performing more iterations in the script actually worsens
> this problem, after 4 iterations the memory used increased to 14.32GB. With
> a larger grid of 2002 x 100 x 1000 points the memory after one iteration
> increased from 10.42GB before the script to 45.25GB after the script. How
> can I properly delete all datasets and clear the memory in Paraview?
>
>
>
> On Wed, Jan 7, 2015 at 2:55 PM, Nikolaos Beratlis <
> nikos.beratlis at gmail.com> wrote:
>
>> I am trying to run a script on a cluster with Paraview in parallel. The
>> cluster architecture is 16cores and 64GB per node. The script reads in two
>> XMF files, one contains a grid of 2002x100x1000 points along with one
>> variable. There is a loop to perform two iterations:
>>
>> try: paraview.simple
>> except: from paraview.simple import *
>> paraview.simple._DisableFirstRenderCameraReset()
>>
>> RenderView1 = GetRenderView()
>> RenderView1.Background = [1.0, 1.0, 1.0]
>> view = GetActiveView()
>> view.ViewSize = [ 800, 500 ]
>>
>> RenderView1.CenterAxesVisibility = 0
>> #RenderView1.OrientationAxesVisibility = 0
>>
>> #Define variables
>> wdir =
>> '/lustre/groups/balarasgrp/nikosb/Research/Simulations/golfball/stationary/S120/Re200000/gridC1/run_wm'
>> #wdir =
>> '/Users/nikosb/colone/Research/Simulations/golfball/stationary/S120/Re200000/gridC1/run_wm'
>> #wdir = '/Users/nikosb/Research/Simulations/SPHERE/Re100/gridC1/run'
>> Qval = 0.1
>> cfmin = -0.001
>> cfmax = 0.005
>>
>> index = [None]*9999
>>
>> m = 0
>> for i in range(0, 9):
>>   for j in range(0, 9):
>>     for k in range(0, 9):
>>       for l in range(0, 9):
>>         index[m] = chr(i+48)+chr(j+48)+chr(k+48)+chr(l+48)
>>         m = m+1
>>
>>
>> for i in range(1,3):
>>
>>   cf_VP_xmf = XDMFReader(
>> FileName=wdir+'/VPfield/XDMF/cf_VP'+index[i]+'.xmf' )
>>
>>   cf_VP_xmf.Sets = []
>>   cf_VP_xmf.Grids = ['STL Grid']
>>   cf_VP_xmf.PointArrays = ['Cf']
>>
>>   RenderView1 = GetRenderView()
>>   RenderView1.CenterOfRotation = [6.2286853790283203e-06,
>> 2.5033950805664062e-06, 7.1227550506591797e-06]
>>
>>   DataRepresentation1 = Show()
>>   DataRepresentation1.EdgeColor = [0.0, 0.0, 0.50000762951094835]
>>   DataRepresentation1.SelectionPointFieldDataArrayName = 'Cf'
>>   DataRepresentation1.ColorArrayName = ('POINT_DATA', 'Cf')
>>   DataRepresentation1.ScalarOpacityUnitDistance = 0.033928799990483226
>>   DataRepresentation1.ScaleFactor = 0.099998557567596444
>>
>>   a1_Cf_PVLookupTable = GetLookupTableForArray( "Cf", 1,
>> RGBPoints=[-0.0099065126851201057, 0.23000000000000001,
>> 0.29899999999999999, 0.754, 0.0097341262735426426, 0.86499999999999999,
>> 0.86499999999999999, 0.86499999999999999, 0.029374765232205391,
>> 0.70599999999999996, 0.016, 0.14999999999999999], VectorMode='Magnitude',
>> NanColor=[0.25, 0.0, 0.0], ColorSpace='Diverging',
>> ScalarRangeInitialized=1.0 )
>>   a1_Cf_PiecewiseFunction = CreatePiecewiseFunction(
>> Points=[-0.0099065126851201057, 0.0, 0.5, 0.0, 0.029374765232205391, 1.0,
>> 0.5, 0.0] )
>>
>>   DataRepresentation1.ScalarOpacityFunction = a1_Cf_PiecewiseFunction
>>   DataRepresentation1.LookupTable = a1_Cf_PVLookupTable
>>
>>   a1_Cf_PVLookupTable.ScalarOpacityFunction = a1_Cf_PiecewiseFunction
>>
>>   a1_Cf_PVLookupTable.RGBPoints = [cfmin, 0.23000000000000001,
>> 0.29899999999999999, 0.754, -0.002, 0.86499999999999999,
>> 0.86499999999999999, 0.86499999999999999, cfmax, 0.70599999999999996,
>> 0.016, 0.14999999999999999]
>>   a1_Cf_PVLookupTable.ScalarOpacityFunction = a1_Cf_PiecewiseFunction
>>   a1_Cf_PVLookupTable.LockScalarRange = 1
>>
>>   RenderView1.CameraPosition = [6.2286853790283203e-06,
>> 2.5033950805664062e-06, 3.3460035306026636]
>>   RenderView1.CameraFocalPoint = [6.2286853790283203e-06,
>> 2.5033950805664062e-06, 7.1227550506591797e-06]
>>   RenderView1.CameraClippingRange = [2.3175641399614015,
>> 4.6486514901655163]
>>   RenderView1.CameraParallelScale = 0.86600759519558368
>>
>>   Contour1 = Contour( PointMergeMethod="Uniform Binning" )
>>
>>   Contour1.PointMergeMethod = "Uniform Binning"
>>   Contour1.ContourBy = ['POINTS', 'Cf']
>>   Contour1.Isosurfaces = [0.0097341262735426426]
>>
>>   DataRepresentation2 = Show()
>>   DataRepresentation2.ColorArrayName = ('POINT_DATA', '')
>>   DataRepresentation2.ScaleFactor = 0.099971860647201538
>>   DataRepresentation2.SelectionPointFieldDataArrayName = 'Cf'
>>   DataRepresentation2.EdgeColor = [0.0, 0.0, 0.50000762951094835]
>>
>>   DataRepresentation2.Representation = 'Wireframe'
>>   DataRepresentation2.AmbientColor = [0.0, 0.0, 0.0]
>>
>>   DataRepresentation1.Visibility = 0
>>
>>   RenderView1.CameraClippingRange = [2.7470738944403328,
>> 4.2397684828477349]
>>
>>   DataRepresentation1.Visibility = 1
>>
>>   RenderView1.CameraClippingRange = [2.3175641399614015,
>> 4.6486514901655163]
>>
>>   Q_VP_xmf = XDMFReader(
>> FileName=wdir+'/VPfield/XDMF/Q_VP'+index[i]+'.xmf' )
>>
>>   Contour1.Isosurfaces = [0.0]
>>
>>   Q_VP_xmf.Sets = []
>>   Q_VP_xmf.Grids = ['Eulerian Grid']
>>   Q_VP_xmf.PointArrays = ['Q']
>>
>>   DataRepresentation3 = Show()
>>   DataRepresentation3.EdgeColor = [0.0, 0.0, 0.50000762951094835]
>>   DataRepresentation3.SelectionPointFieldDataArrayName = 'Q'
>>   DataRepresentation3.ScalarOpacityUnitDistance = 0.0045778956118952439
>>   DataRepresentation3.Representation = 'Outline'
>>   DataRepresentation3.ScaleFactor = 0.25585924386978148
>>
>>   RenderView1.CameraClippingRange = [0.30866115510384229,
>> 6.1311800002592065]
>>
>>   Contour2 = Contour( PointMergeMethod="Uniform Binning" )
>>
>>   Contour2.PointMergeMethod = "Uniform Binning"
>>   Contour2.ContourBy = ['POINTS', 'Q']
>>   Contour2.Isosurfaces = [-348374.28125]
>>
>>   DataRepresentation4 = Show()
>>   DataRepresentation4.ScaleFactor = 0.1348903000354767
>>   DataRepresentation4.SelectionPointFieldDataArrayName = 'Normals'
>>   DataRepresentation4.EdgeColor = [0.0, 0.0, 0.50000762951094835]
>>
>>   Contour2.Isosurfaces = [0.5]
>>
>>   DataRepresentation3.Visibility = 0
>>
>>   RenderView1.CameraClippingRange = [0.46635874330917981,
>> 5.5760844897764175]
>>
>>   RenderView1.CameraViewUp = [-1.0, 0.0, 0.0]
>>   RenderView1.CameraPosition = [-5.0, 0.0, 5.0]
>>   RenderView1.CameraClippingRange = [3.0180305778980254,
>> 7.5069525367021557]
>>   RenderView1.CameraFocalPoint = [0.0, 0.0, 5.0]
>>   RenderView1.CameraParallelScale = 1.565457167140391
>>   RenderView1.CenterOfRotation = [0.0, 0.0, 0.0]
>>
>>   RenderView1.CameraFocalPoint = [0.0, 0.0, 0.5]
>>   RenderView1.CameraClippingRange = [0.86197012554183883,
>> 4.2263653610655147]
>>   RenderView1.CameraPosition = [0.0, -2.5, 0.0]
>>
>>   WriteImage(wdir+'/POSTPRO/IMAGES/Q_cf_VP'+index[i]+'.jpg')
>>
>>   Delete(DataRepresentation4)
>>   Delete(Contour2)
>>   Delete(DataRepresentation3)
>>   Delete(Q_VP_xmf)
>>
>>   Delete(DataRepresentation2)
>>   Delete(Contour1)
>>   Delete(DataRepresentation1)
>>   Delete(cf_VP_xmf)
>>
>> The script was created by running an interactive Paraview session and
>> recording the commands. I then modified it slightly to add the loop and
>> some variables.
>>
>> I have been able to run the script successfully on 1,2,16 and 32 cores
>> successfully and it loops twice. However when I try to run on 64 cores I
>> get the following error message:
>>
>> [node116:58372] 63 more processes have sent help message
>> help-mpi-common-cuda.txt / dlopen failed
>> [node116:58372] Set MCA parameter "orte_base_help_aggregate" to 0 to see
>> all help / error messages
>> terminate called after throwing an instance of 'std::bad_alloc'
>>   what():  std::bad_alloc
>> [node125:37180] *** Process received signal ***
>> [node125:37180] Signal: Aborted (6)
>> [node125:37180] Signal code:  (-6)
>> [node125:37180] [ 0] /lib64/libpthread.so.0(+0xf710) [0x2aaab28f3710]
>> [node125:37180] [ 1] /lib64/libc.so.6(gsignal+0x35) [0x2aaab479f625]
>> [node125:37180] [ 2] /lib64/libc.so.6(abort+0x175) [0x2aaab47a0e05]
>> [node125:37180] [ 3]
>> /usr/lib64/libstdc++.so.6(_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x12d)
>> [0x2aaab408aa7d]
>> [node125:37180] [ 4] /usr/lib64/libstdc++.so.6(+0xbcbd6) [0x2aaab4088bd6]
>> [node125:37180] [ 5] /usr/lib64/libstdc++.so.6(+0xbcc03) [0x2aaab4088c03]
>> [node125:37180] [ 6] /usr/lib64/libstdc++.so.6(+0xbcd22) [0x2aaab4088d22]
>> [node125:37180] [ 7] /usr/lib64/libstdc++.so.6(_Znwm+0x7d)
>> [0x2aaab408911d]
>> [node125:37180] [ 8] /usr/lib64/libstdc++.so.6(_Znam+0x9) [0x2aaab40891d9]
>> [node125:37180] [ 9]
>> /c1/apps/paraview/4.1.0/lib/libvtkIOXdmf2-pv4.1.so.1(_ZN16vtkXdmfHeavyData10ReadPointsEP12XdmfGeometryPiS2_+0x3a6)
>> [0x2aaab716310c]
>> [node125:37180] [10]
>> /c1/apps/paraview/4.1.0/lib/libvtkIOXdmf2-pv4.1.so.1(_ZN16vtkXdmfHeavyData21RequestStructuredGridEP8XdmfGrid+0xfb)
>> [0x2aaab716292f]
>> [node125:37180] [11]
>> /c1/apps/paraview/4.1.0/lib/libvtkIOXdmf2-pv4.1.so.1(_ZN16vtkXdmfHeavyData15ReadUniformDataEP8XdmfGrid+0x14c)
>> [0x2aaab71614ce]
>> [node125:37180] [12]
>> /c1/apps/paraview/4.1.0/lib/libvtkIOXdmf2-pv4.1.so.1(_ZN16vtkXdmfHeavyData8ReadDataEP8XdmfGrid+0xd1)
>> [0x2aaab7160c91]
>> [node125:37180] [13]
>> /c1/apps/paraview/4.1.0/lib/libvtkIOXdmf2-pv4.1.so.1(_ZN16vtkXdmfHeavyData8ReadDataEv+0x4f)
>> [0x2aaab7160a0f]
>> [node125:37180] [14]
>> /c1/apps/paraview/4.1.0/lib/libvtkIOXdmf2-pv4.1.so.1(_ZN13vtkXdmfReader11RequestDataEP14vtkInformationPP20vtkInformationVectorS3_+0x31c)
>> [0x2aaab716daf0]
>> [node125:37180] [15]
>> /c1/apps/paraview/4.1.0/lib/libvtkIOLegacy-pv4.1.so.1(_ZN13vtkDataReader14ProcessRequestEP14vtkInformationPP20vtkInformationVectorS3_+0x62)
>> [0x2aaab0b3b9be]
>> [node125:37180] [16]
>> /c1/apps/paraview/4.1.0/lib/libvtkIOXdmf2-pv4.1.so.1(_ZN13vtkXdmfReader14ProcessRequestEP14vtkInformationPP20vtkInformationVectorS3_+0x76)
>> [0x2aaab716c702]
>> [node125:37180] [17]
>> /c1/apps/paraview/4.1.0/lib/libvtkCommonExecutionModel-pv4.1.so.1(_ZN12vtkExecutive13CallAlgorithmEP14vtkInformationiPP20vtkInformationVectorS3_+0x8d)
>> [0x2aaab10c63d1]
>> [node125:37180] [18]
>> /c1/apps/paraview/4.1.0/lib/libvtkCommonExecutionModel-pv4.1.so.1(_ZN23vtkDemandDrivenPipeline11ExecuteDataEP14vtkInformationPP20vtkInformationVectorS3_+0x76)
>> [0x2aaab10c0b1c]
>> [node125:37180] [19]
>> /c1/apps/paraview/4.1.0/lib/libvtkCommonExecutionModel-pv4.1.so.1(_ZN24vtkCompositeDataPipeline11ExecuteDataEP14vtkInformationPP20vtkInformationVectorS3_+0x468)
>> [0x2aaab10b9950]
>> [node125:37180] [20]
>> /c1/apps/paraview/4.1.0/lib/libvtkCommonExecutionModel-pv4.1.so.1(_ZN23vtkDemandDrivenPipeline14ProcessRequestEP14vtkInformationPP20vtkInformationVectorS3_+0x522)
>> [0x2aaab10c0248]
>> [node125:37180] [21]
>> /c1/apps/paraview/4.1.0/lib/libvtkCommonExecutionModel-pv4.1.so.1(_ZN32vtkStreamingDemandDrivenPipeline14ProcessRequestEP14vtkInformationPP20vtkInformationVectorS3_+0xa6c)
>> [0x2aaab10e5ace]
>> [node125:37180] [22]
>> /c1/apps/paraview/4.1.0/lib/libvtkCommonExecutionModel-pv4.1.so.1(_ZN24vtkCompositeDataPipeline15ForwardUpstreamEP14vtkInformation+0x2d6)
>> [0x2aaab10bbb6e]
>> [node125:37180] [23]
>> /c1/apps/paraview/4.1.0/lib/libvtkCommonExecutionModel-pv4.1.so.1(_ZN23vtkDemandDrivenPipeline14ProcessRequestEP14vtkInformationPP20vtkInformationVectorS3_+0x48a)
>> [0x2aaab10c01b0]
>> [node125:37180] [24]
>> /c1/apps/paraview/4.1.0/lib/libvtkCommonExecutionModel-pv4.1.so.1(_ZN32vtkStreamingDemandDrivenPipeline14ProcessRequestEP14vtkInformationPP20vtkInformationVectorS3_+0xa6c)
>> [0x2aaab10e5ace]
>> [node125:37180] [25]
>> /c1/apps/paraview/4.1.0/lib/libvtkCommonExecutionModel-pv4.1.so.1(_ZN23vtkDemandDrivenPipeline10UpdateDataEi+0x2fb)
>> [0x2aaab10c0965]
>> [node125:37180] [26]
>> /c1/apps/paraview/4.1.0/lib/libvtkCommonExecutionModel-pv4.1.so.1(_ZN32vtkStreamingDemandDrivenPipeline6UpdateEi+0xf8)
>> [0x2aaab10e5d3e]
>> [node125:37180] [27]
>> /c1/apps/paraview/4.1.0/lib/libvtkPVServerImplementationCore-pv4.1.so.1(_ZN16vtkSISourceProxy14UpdatePipelineEidb+0x196)
>> [0x2aaaac77ef72]
>> [node125:37180] [28]
>> /c1/apps/paraview/4.1.0/lib/libvtkPVServerManagerApplication-pv4.1.so.1(_Z23vtkSISourceProxyCommandP26vtkClientServerInterpreterP13vtkObjectBasePKcRK21vtkClientServerStreamRS5_Pv+0x6ee)
>> [0x2aaaab7f27bd]
>> [node125:37180] [29]
>> /c1/apps/paraview/4.1.0/lib/libvtkClientServer-pv4.1.so.1(_ZN26vtkClientServerInterpreter19CallCommandFunctionEPKcP13vtkObjectBaseS1_RK21vtkClientServerStreamRS4_+0x343)
>> [0x2aaaafb57aa5]
>> [node125:37180] *** End of error message ***
>>
>> I am afraid there is an issue with memory leakage or improper memory
>> allocation and deallocation. At this point I do not know how to proceed to
>> debug it. Is there an obvious problem in in the script and the way datasets
>> are deallocated at the end of each iteration?
>>
>> Regards,
>>
>> Nikos
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20150108/b19bb9ea/attachment.html>


More information about the ParaView mailing list