question on system() and fork() on Linux w/no overcommit

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

question on system() and fork() on Linux w/no overcommit

Van Horne, John
We have an embedded system using:
    glibc 2.4
    Linux kernel 2.6.14

Because it is an embedded system with limited virtual memory and where
we can't allow
processes to die due to a failed allocation, we have the kernel
configured with memory
overcommit disabled.

We have one process which takes up more than half of the available
virtual memory. If
from this process we call system(), it fails because the underlying
fork() cannot get
enough virtual memory to make a virtual copy. Our Linux kernel guy is
suggesting that
we patch glibc's system() so that it uses vfork() instead of fork().

Has anyone else working on systems with memory overcommit disabled
encountered this
problem, and how did you resolve it? Is this the right approach, or is
there a better
way?

Thanks,
-John



     - - - - - Appended by Scientific Atlanta, a Cisco company - - - - -
This e-mail and any attachments may contain information which is confidential,
proprietary, privileged or otherwise protected by law. The information is solely
intended for the named addressee (or a person responsible for delivering it to
the addressee). If you are not the intended recipient of this message, you are
not authorized to read, print, retain, copy or disseminate this message or any
part of it. If you have received this e-mail in error, please notify the sender
immediately by return e-mail and delete it from your computer.