spawning (exec*/wait) shows non-constant time if memory grows

Ondřej Bílka neleai@seznam.cz
Fri Jan 24 10:35:00 GMT 2014


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?



More information about the Libc-help mailing list