Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Feb 2005 22:28:23 -0500
From:      Coleman Kane <zombyfork@gmail.com>
To:        Ashwin Chandra <ashcs@ucla.edu>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Priority Increasing
Message-ID:  <346a8022050227192871c65779@mail.gmail.com>
In-Reply-To: <000801c51d3a$e1ac47c0$abe243a4@ash>
References:  <000801c51d3a$e1ac47c0$abe243a4@ash>

next in thread | previous in thread | raw e-mail | index | archive | help
Well, since the program is running a forkbomb, it is gonna stress out
the kernel. The kernel is constantly creating new process spaces, as
well as filling in the queue.

Are we talking a O(2^n) forkbomb here (where the forks also fork)?
Remember, there is overhead associated with forking off new processes,
and if your program is doing it continuously, nicing them is not going
to fix the problem. I suggest you fix the program so that it doesn't
forkbomb.

You can also rlimit it, and force the number of processes to a
specific ceiling. This will result in crashing the program everytime
you hit that limit, however. Try looking into djb's daemontools if you
want to duct-tape it (ports/sysutils/daemontools)

--
coleman

On Sun, 27 Feb 2005 18:11:57 -0800, Ashwin Chandra <ashcs@ucla.edu> wrote:
> Hi all,
> Ive been trying to counter the malicious effects of a forkbomb by setting the forkbomb parent and children to a PRI_MAX priority, although this is not having any effect on the system load.
> 
> Basically in my code when I know which process is acting maliciously (forkbomb), I run the following simple code:
> 
>       FOREACH_KSEGRP_IN_PROC(p, kg)
>         {
>           printf("old prio:%d", kg->kg_user_pri);
>           kg->kg_user_pri = PRI_MAX;
>           printf(" new prio:%d", kg->kg_user_pri);
>         }
> 
> When it prints out, the old prio was 180 and the new gets set to 255 although there is help to the system...the system is still under stress. Do you guys know any good ways of hacking the scheduler to make a process that is bad run MUCH MUCH less as to not overload the system?
> 
> Ash
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
>



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