JOJ3 itself will be killed due to OOM when copyOut files are large #86

Closed
opened 2025-04-29 21:29:32 +08:00 by 张泊明518370910136 · 2 comments

As described in https://docs.goj.ac/design#memory-usage, it should be fine when /dev/shm has 8G and memory has 16G on joj-dev. But in practice, 100 cases of 1M copy out stdout & stderr will cause JOJ3 oom.

As described in https://docs.goj.ac/design#memory-usage, it should be fine when /dev/shm has 8G and memory has 16G on joj-dev. But in practice, 100 cases of 1M copy out stdout & stderr will cause JOJ3 oom.
张泊明518370910136 added the
bug
priority
p0
labels 2025-04-29 21:29:32 +08:00
Author
Owner

It relates to running JOJ3 in act_runner. Run JOJ3 directly on joj-dev will not cause OOM but inside act_runner it will.

It relates to running JOJ3 in act_runner. Run JOJ3 directly on joj-dev will not cause OOM but inside act_runner it will.
Author
Owner

Fixed in 07cbf29792. os/exec in golang does not fork the process, so rlimit will be applied to the current parent process. Check https://www.reddit.com/r/golang/comments/inpsqv/how_to_limit_memory_usage_in_a_child_process/.

Fixed in 07cbf29792438217952a6c834c84baa05169cfaf. `os/exec` in golang does not fork the process, so rlimit will be applied to the current parent process. Check https://www.reddit.com/r/golang/comments/inpsqv/how_to_limit_memory_usage_in_a_child_process/.
Sign in to join this conversation.
No description provided.