jcrodriguez-dis / vpl-jail-system

Execution/jail server for VPL
GNU General Public License v3.0
23 stars 22 forks source link

Out of memory error when trying to use more than 2000 MiB of RAM #72

Closed FeldrinH closed 1 year ago

FeldrinH commented 1 year ago

I am trying to run an exercise in VPL that needs to consume a lot of memory. My test server is an Ubuntu virtual machine with 8 GB of physical RAM available. I have configured my JVM memory limit to be appropriately high (-Xmx2500M).

I then try to run some Java code that allocates approxiamtely 2000 MiB of memory in small and large chunks, and get an error saying "Out of memory: 2000 MiB": image

This happens regardless of what I set as the memory limit under 'Maximum execution resource limits'. I tried 4 GiB, 3 GiB, 2.5 GiB and 2 GiB and got the exact same error for all of them.

It seems like the actual memory limit is 2000 MiB for any 'Maximum memory used' setting above 2 GiB. Is this expected behavior and is there any way to set the true memory limit higher?

FeldrinH commented 1 year ago

This is indeed expected behavior. There is a configuration option that I missed that sets the max memory limit on the jail server side: https://vpl.dis.ulpgc.es/documentation/vpl-jail-system-3.0.0/configuration.html#maxmemory.

FeldrinH commented 1 year ago

Also, the documentation seems to have a small mistake: It states that the default value for MAXMEMORY is 2_000_000 bytes, which would be approximately 1.9 MiB not 2000 MiB.