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