Re: CPU/Memory limiting
- From: "M. Edward (Ed) Borasky" <znmeb@xxxxxxxxxxx>
- Date: Sun, 8 Jul 2007 13:29:11 +0900
TongKe Xue wrote:
I think there is a misunderstanding.
My goal is not to enforce these limits at compile time.
My goal is to enforece these limits at run time.
You exceed the memory limit? I don't allow you to allocate more memory.
You exceed your cpu slice? I swap you out and run another thread for a
while.
As another poster pointed out, this is an operating-system-dependent
function, not one that belongs in a portable high-level language. So you
now need a system administrator to detect when a process is being a CPU
or memory hog and take some kind of action.
This is *exactly* what an OS does for a living! I don't know how to do
this on a Windows server, but on Linux and most other Unix-like systems,
there is a gizmo called "ulimit". This allows you to set a policy on how
big a process can get or how much total CPU time it can accumulate. The
bad news is that, as far as I know, when the process *does* violate its
ulimit, it is unceremoniously terminated and expunged from the system.
If that kind of behavior is compatible with your game, great. Otherwise,
you'll have to find a way to trap the ulimits and deal with them.
In any event, I think you're making this hard for yourself. There are
existing simulation game frameworks that work very well, and I think
there are even some with Ruby bindings. It sounds to me like you're
trying to reinvent some wheels rather than designing a user experience.
I'd recommend getting a good handle on the "whats" first before delving
much deeper into the "hows".
.
- References:
- Re: CPU/Memory limiting
- From: M. Edward (Ed) Borasky
- Re: CPU/Memory limiting
- Prev by Date: Re: Polymorphic Code
- Next by Date: Get file size before download (noobish question)
- Previous by thread: Re: CPU/Memory limiting
- Next by thread: Re: CPU/Memory limiting
- Index(es):
Relevant Pages
|
|