digitalmars.D.learn - Is there a portable way to limit memory/cpu usage of a D application?
- Dejan Lekic (8/8) Nov 09 2011 I would be satisfied with something like POSIX.1-2001 setrlimit() . Sure...
- deadalnix (5/13) Nov 10 2011 Well no, but you can ask the gc to collect and realease block to the
- Mike Young (5/9) Nov 28 2012 I know I'm over a year late coming in on this conversation, but
- Dejan Lekic (7/17) Nov 29 2012 Well, if it is not in the posix module, then you simply use it by
I would be satisfied with something like POSIX.1-2001 setrlimit() . Sure nothing prevents me from using setrlimit() in my D app, but perhaps it is something to think about a portable way of doing that. One thing I like about my Java apps is that I can always specify (in the argument list) how much memory I want to allocate for them). Yes, it is a JVM specific thing, but perhaps a GC should have options to set at least the memory limit? Kind regards
Nov 09 2011
Le 09/11/2011 18:12, Dejan Lekic a écrit :I would be satisfied with something like POSIX.1-2001 setrlimit() . Sure nothing prevents me from using setrlimit() in my D app, but perhaps it is something to think about a portable way of doing that. One thing I like about my Java apps is that I can always specify (in the argument list) how much memory I want to allocate for them). Yes, it is a JVM specific thing, but perhaps a GC should have options to set at least the memory limit? Kind regardsWell no, but you can ask the gc to collect and realease block to the system explicitely (and not like in Java, which you can only trigger collection for young object from code). So basically you can control how much memory your application is consuming.
Nov 10 2011
On Wednesday, 9 November 2011 at 17:13:14 UTC, Dejan Lekic wrote:Sure nothing prevents me from using setrlimit() in my D app, but perhaps it is something to think about a portable way of doing that.I know I'm over a year late coming in on this conversation, but how would you use setrlimit() in your D app at all? I can't seem to figure out what the correct library is to include in my program to be able to call set/getrlimit in any manner. Thanks!
Nov 28 2012
On Thursday, 29 November 2012 at 04:44:34 UTC, Mike Young wrote:On Wednesday, 9 November 2011 at 17:13:14 UTC, Dejan Lekic wrote:Well, if it is not in the posix module, then you simply use it by declaring "extern(C) int setrlimit(int resource, const void* rlim);" or something similar if you define the rlimit struct somewhere. Remember, you can call C functions from your D code anytime, anywhere.Sure nothing prevents me from using setrlimit() in my D app, but perhaps it is something to think about a portable way of doing that.I know I'm over a year late coming in on this conversation, but how would you use setrlimit() in your D app at all? I can't seem to figure out what the correct library is to include in my program to be able to call set/getrlimit in any manner. Thanks!
Nov 29 2012