On 11/27/2017 3:30 PM, Zelphir Kaltstahl wrote:
Memory limits can be easily added to a program as well with the
following code:
~~~
(define (Mb-to-B n) (* n 1024 1024))
(define MAX-BYTES (Mb-to-B 128))
(custodian-limit-memory (current-custodian) MAX-BYTES)
~~~
The problem with custodian-limit-memory is that it doesn't actually
limit how much memory the custodian can allocate - the limit is enforced
only *after* GC runs. Between GC runs, the custodian could allocate far
more than the limit.
I'd like a command line switch that puts a hard limit on heap size ...
similar to the server JVM. Using ULIMIT on Linux you can restrict
process data size, but Windows offers no simple way to do that. It can
be done clumsily on Windows using containers or with "job objects", but
few people have containers set up on their Windows boxes and the few job
objects tools I am aware of work only on already running processes ...
there's no simple way to start a process that is restricted from the
beginning.
George
--
You received this message because you are subscribed to the Google Groups "Racket
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.