cvs commit: src/sys/vm vm_init.c

Bruce Evans bde at zeta.org.au
Wed Apr 27 19:52:11 PDT 2005


On Thu, 28 Apr 2005, Kris Kennaway wrote:

> kris        2005-04-28 00:29:24 UTC
>
>  FreeBSD src repository
>
>  Modified files:        (Branch: RELENG_5)
>    sys/vm               vm_init.c
>  Log:
>  MFC:
>
>    Add the vm.exec_map_entries tunable and read-only sysctl, which controls
>    the number of entries in exec_map (maximum number of simultaneous execs
>    that can be handled by the kernel).  The default value of 16 is
>    insufficient on heavily loaded machines (particularly SMP machines), and
>    if it is exceeded then executing further processes will generate a SIGABRT.
>
>    This is a workaround until a better solution can be implemented.

It seems to be insufficient on all reasonably fast machines.  Just
fork-execing 16+ processes in the following benchmark seems to trigger it:

%%%
#!/bin/sh

for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
do
 	nice -$i sh -c "while :; do echo -n;done" &
done
top -o time
%%%

Lately, this has started failing with a strange "Abort trap" messages
printed by the shell after I exit top.  The 3 processes with niceness
1, 2 and 3 tend to get killed more than others.

Bruce


More information about the cvs-src mailing list