How to better monitor the memory usage of ASPECT?


I would like to get a better idea of how much memory is used by ASPECT for the individual tasks. Mainly because my memory consumption explodes much faster than I was expecting. I went back to the cookbook of shell_simple_3d.prm and modified it to use an Initial Global Refinement of 4 and no Adaptive Mesh Refinement. I am using the matrix statistics and memory statistics post processors to try to get some insights.

However, I do not seem to get what the individual output statistics tell me. I get the two outputs from the matrix-statistics post processor telling me about the Total system matrix memory consumption and Total system preconditioner matrix memory consumption and I get the output of the memory-statistics post processor about System matrix memory consumption. From here I run into the following problems:

  1. What is the link between the System matrix memory consumption and the Total system matrix memory consumption?

  2. What other processes add to the total memory used? Because combining all output statistics doesn’t get me anywhere near to the amount of memory what monitoring using htop shows me.

  3. What is the expected behavior of the memory after increasing or decreasing the numbers of cpu’s dedicated to the mpi run?

  4. I also tried changing the GMRES solver restart length, because this is necessary (for the solver to converge) in the simulation I want to do eventually. Increasing the length of the solver restart length should increase the memory consumption right? I do not observe this in the total memory consumption though.

I hope you can help me out with some of these problems. Also, I am more than happy to receive suggestions of how I can better monitor the memory usage.

Thanks in advance!