Subject: Re: some linux emulated programs create many processes
To: None <netbsd-help@netbsd.org>
From: Christos Zoulas <christos@zoulas.com>
List: netbsd-help
Date: 10/21/2004 17:46:37
In article <20041021134516.3335962c.ccatrian@eml.cc>,
César Catrián C. <ccatrian@eml.cc> wrote:
>Hi :)
>
>I have had to elevate the limit of processes in the system up to 530 due
>to programs like opera7 and azureus.
>
>Opera7 opens +-150 processes and azureus (java sub-processes) opens around 380.
>
>Even with a limit of 530 processes, the table of processes fills and I
>cannot execute nothing without killing these monsters.
>
>I do not know if it is a problem of the emulation of linux (I am using
>suse91_linux), or of system. I do not believe either that these
>processes have some utility, since they do not consume memory and they
>are in state ZW.
>
>I am using NetBSD_2.0BETA of september 28. Any comment is appreciated.
>

This is a known problem and has been fixed on head by:

    Module Name:    src
    Committed By:   erh
    Date:           Thu Oct  7 19:30:28 UTC 2004

    Modified Files:
	    src/sys/compat/linux/common: linux_misc.c linux_misc.h
		linux_misc_notalpha.c

    Log Message:
    PR kern/27184: Have linux_sys_waitpid() call linux_sys_wait4() so the
      supported options can't get out of sync.  This add support for the
      linux __WCLONE and __WALL options (NetBSD version: WALTSIG and WALLSIG)
    Add a diagnostic check to see if the one unhandled option (__WNOTHREAD) is
      specified.
    This should prevent linux processes from losing their children and creating
      tons of zombie processes.


    To generate a diff of this commit:
    cvs rdiff -r1.132 -r1.133 src/sys/compat/linux/common/linux_misc.c
    cvs rdiff -r1.9 -r1.10 src/sys/compat/linux/common/linux_misc.h
    cvs rdiff -r1.71 -r1.72 src/sys/compat/linux/common/linux_misc_notalpha.c

    Please note that diffs are not public domain; they are subject to the
    copyright notices on the relevant files.

I have asked for a pullup to 2.0.

christos