CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   [OpenFOAM plus][3.0+] Memory behavior on windows installation (https://www.cfd-online.com/Forums/openfoam-solving/175536-openfoam-plus-3-0-memory-behavior-windows-installation.html)

jfournier August 1, 2016 07:35

[OpenFOAM plus][3.0+] Memory behavior on windows installation
 
Hello everyone,

I wanted to reach out to the community before submitting this issue as an official bug report.

I'm using OpenFOAM v3.0+ for Windows, the precompiled version.
I have observed two strange behaviors about the memory usage of the software:

-> When a calculation is finished (job ended correctly with no errors), the memory is not released. The job seems to stay loaded in the RAM even if the processes are finished (not present when using the "top" command).

-> I'm running an incompressible flow using simplified and there seems to be a memory leak. Whenever the computation hits a point where the computation is saved the memory usage increases a little. It doesn't seem to be case dependant as the 2D-airfoil also does it (you'd have to make the software write files every itérations to see it because it's such a small mesh)

I'm using the normal off-the-shelf version with no personal modifications in it.

In the Windows version valgrind is not installed and so I can't use that to identify where the leak is coming from

Cheers for any help or information you can provide.

wyldckat August 20, 2016 16:47

Quick answer: OpenFOAM+ on Windows is using a Docker virtual machine (VM) with Virtualbox. This means that the VM will start occupying RAM, until is reaches the maximum amount of RAM assigned to that VM.

This is normal to occur on the real machine's side with most virtualization software, such as Virtualbox. This makes the VM more efficient as it progresses, because it will not be constantly releasing and requesting RAM from the real machine, which would slow down execution.

If you want to release RAM on the real machine, you will have to sign out from within the Docker session and stop the VM via Virtualbox's GUI.

edit: I forgot to mention that the RAM that is used when saving, it's likely due to the internal cache mechanism used inside the VM. This is a standard feature in most operating systems and you're only noticing it because you're looking from outside of the VM ;)


All times are GMT -4. The time now is 14:40.