New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Calculation of available memory should respect resource limits #935
Comments
|
FYI the system call to check such resource limits seems to be |
|
Shouldn't be too difficult, although I am short of tuits. If I (or someone else) gets parrot-shaped tuits, check in src/platforms/*/sysmem.c |
|
On Sun, Feb 17, 2013 at 09:38:51AM -0800, Moritz Lenz wrote:
See also issue #795 (this issue may be a duplicate of that one). Pm |
We need to check for RLIMIT_DATA and then RLIMIT_AS, first hard, then soft limits.
use from cmd-line as ./parrot t/stress/gc_2.pir 1000000 ulimit -Sv 64000 ./parrot t/stress/gc_3.pir 1000000 ulimit -Sv unlimited
|
Did any of the above-mentioned commits ever get merged? |
|
It seems that these commits are in the rurban/rlimit-gh935 branch which has not been merged to master. Anybody interested in taking up where @rurban left off? |
We need to check for RLIMIT_DATA and then RLIMIT_AS, first hard, then soft limits.
use from cmd-line as ./parrot t/stress/gc_2.pir 1000000 ulimit -Sv 64000 ./parrot t/stress/gc_3.pir 1000000 ulimit -Sv unlimited
With this change and ulimit -v 640 the GC bugs are easily reproduced now also on darwin.
With this change and ulimit -v 640 the GC bugs are easily reproduced now also on darwin.
Parrot uses an estimation of total available system memory to determine how much memory to use, and thus how often to run the GC.
It would be very useful if that estimation respected resource limits set with
ulimiton Linux systems.Currently parrot blows up with an OOM error message if it violates a hard ulimit, even though the available memory would be enough if parrot just GC'ed more often.
The text was updated successfully, but these errors were encountered: