On Jan 8, 2008, at 9:25 PM, Bharma Ji wrote:

Thanks for the response. I am hoping to keep some memory aside specifically for handling out of memory allocation situations. Yes the real fix is to avoid out of memory allocation. Thanks for the patch. Will try that. As a
first cut I am just trying to handle failure gracefully.

So asking again - if there is any way already discussed or standardized to
make the system handle failures gracefully

On Jan 8, 2008 4:30 PM, Kris Kennaway <[EMAIL PROTECTED]> wrote:

Bharma Ji wrote:
In FreeBSD 6_2, if kmem_malloc is unable to find space it panics. The
relevant code is in vm_kern.c
  if ((flags & M_NOWAIT) == 0)
                         panic("kmem_malloc(%ld): kmem_map too small:
%ld
total allocated",
                                (long)size, (long)map->size);

Is there any way to make the system log and then gracefully shut off
instead
of panicking?

Not really, because those actions require memory allocation.  The real
fix is to either

a) avoid running out of memory in the first place by tuning vm.kmem_size

b) perhaps trying harder to avoid panicking by first trying to more
aggressively reclaim memory.

You can try

http://www.freebsd.org/~pjd/patches/vm_kern.c.2.patch<http:// www.freebsd.org/%7Epjd/patches/vm_kern.c.2.patch>

which implements b) (patch against 7.0, but might apply to 6.2 unchanged).

Kris

_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Why not try to take out some user processes? Going with a combination of process priority and memory usage, it should at least be more tolerable than a panic.

_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to