overcommit is set to 0 I think, I checked it like this:less /proc/sys/vm/overcommit_memory
Huh, I thought it was 2. I bet your desktop also has 0 there, but for some reason it works there. I am not sure what other settings could influence this behaviour. You
could set it to 1 if you have root access and it may even help, but at the cost of potentially summoning OOM-Killer later.
So I should look in to vfork() or in the last suggestion you gave?
There is
POSIX::RT::Spawn that might use
vfork() under the hood. Try it first. Creating your own child spawn helper is harder, but you could copy the code from
Bidirectional Communication with Yourself and start from there. Both options are specific to *nix-like systems and should be avoided
if $^O eq 'MSWin32' at least.