This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Re: spawning (exec*/wait) shows non-constant time if memory grows
- From: OndÅej BÃlka <neleai at seznam dot cz>
- To: dl9obn at darc dot de
- Cc: libc-help at sourceware dot org
- Date: Fri, 24 Jan 2014 11:35:48 +0100
- Subject: Re: spawning (exec*/wait) shows non-constant time if memory grows
- Authentication-results: sourceware.org; auth=none
- References: <52E15D6C dot 8000107 at gmx dot de>
On Thu, Jan 23, 2014 at 07:20:28PM +0100, Dirk Bächle wrote:
> Hi there,
>
> I've already posted my actual question to the kernel-dev mailing list at:
>
> https://lkml.org/lkml/2014/1/14/632
>
> , but got no reaction so far. So I'd really appreciate if someone
> knowledgeable could have a look at my findings and confirm to me
> that the problem I see is a kernel issue...and not related to the
> glibc itself.
> What it's basically about is: I spawn a large number of simple child
> processes sequentially (they don't run in parallel!) while letting
> the memory of the parent process go up with malloc(). Over the
> number of spawned processes the runtime for each execve/wait seems
> to grow, which is not what I would expect.
>
> Please find some more infos in the link above, if you're interested.
> Any pointers to more documentation, discussions or advice on how to
> proceed would be welcome.
>
> I also apologize for cross-posting this problem, but I just want to
> ensure that I tried the right forum...instead of getting no reply
> because I "screwed up" and sent a glibc question to the kernel
> folks. ;)
>
> Thanks a lot in advance for your answers.
>
How does memory usage affect that? Could you get same slowdown just by
preallocating same amount of memory?