Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Jan 1999 02:36:49 +0200
From:      Andrew Khanoff <akha@akha.kiev.ua>
To:        stable@Freebsd.org
Subject:   Re[2]: Frequent Restarts
Message-ID:  <4312912326.19990101023649@akha.kiev.ua>

next in thread | raw e-mail | index | archive | help
Hello Bill and All,

Sunday, February 10, 2002, 7:01:38 AM, you wrote:

BM> Holt Grendal wrote:
>> Is there anyway to get more information about this
>> remotely? Has anyone experienced this?

BM> Set dumpdev= to your swap partition in /etc/rc.conf
BM> or manually use the dumpon(8) command.
BM> This will cause more useful information to be reported
BM> (if the system is panicing) as well as crash dumps
BM> to be saved which can be analized with gdb.

Yesterday i've tested new machine (P4, 1.4GHz, RAM: 3 X 256 Mb
Kingston). I've installed several packages as apache, siege etc and
tried to emulate situation of hard load from clients to custom www
server. apache  has been installed from the packages with maximum
clients = 512, siege has been runned with 1000 concurent sessions and
200 repeatitions of testing. Also custom kernel has been installed .
After some period of time box crashed with such message in messages:

panic: pmap_new_proc: u_map allocation failed

After few minutes of searching on www.deja.com i've found that the
problem is in following:

----------------------------------------------------------------------
From: Web Masters <webmaster2080@yahoo.com>
Subject: Re: /var/log/messages error
Date: Sat, Aug 25, 2001 at 02:01:14PM -0700

> This happens every night, any idea how to fix it?
> (Hardware or software prob)
> 
> Aug 26 04:53:34 global /kernel: panic: pmap_new_proc: u_map allocation failed
> Aug 26 04:53:34 global /kernel: 
> Aug 26 04:53:34 global /kernel: syncing disks... 10
> 
> - system reboots -

You are running out of memory, probably because too many processes
have been created.  The message that your kernel prints before it
panics is printed by /usr/src/sys/i386/i386/pmap.c:

    void
    pmap_new_proc(p)
            struct proc *p;
    {
            ...
                    if (up == NULL)
                            panic("pmap_new_proc: u_map allocation failed");
                    p->p_addr = up;
            ...
    }

The pmap_new_proc() function is called by vm_glue.c as can be seen
in the code fragment from /usr/src/sys/vm/vm_glue.c below:

    void
    vm_fork(p1, p2, flags)
            struct proc *p1, *p2;
            int flags;
    {
            ...
    
            pmap_new_proc(p2);
    
            ...
    }

To make a long story short, you have too many fork()'s running at the
moment the panic happens.  Read the comments about MAXUSERS option in
your kernel configuration, and build a kernel that can handle more
processes :-)

-giorgos
---------------------------------------------------------------------


so...the question is - how to make FreeBSD not reboot if such
situation occures? I agree for temporal lock of the system, zero
keyboard response etc,  but not reboot. Any ideas?


-- 
Best regards,
 Andrew                            mailto:akha@akha.kiev.ua


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4312912326.19990101023649>