Hi,
System RAM is 128 MB.
Process has occupied 97MB.
When try to get Network IP using DHCP client, shows cannot allocate memory error, during system call. using VFork to create child process. Provide solution.
Printable View
Hi,
System RAM is 128 MB.
Process has occupied 97MB.
When try to get Network IP using DHCP client, shows cannot allocate memory error, during system call. using VFork to create child process. Provide solution.
1) Are you talking about a SOHO router?
2) If yes, how many clients are connected?
3) Which process takes 97MByte?
4) Is it reasonable for that process to take so much?
How use ulimit command for process? Is ulimit command is common for all processes?
Please provide more information, answering the questions of #1 might be a start.Code:man ulimit
Parent process is consuming 97MB out of 128MB of memory. When I vfork() to create child process to get dynamic IP, vfork() fails with -1 and errono shows ENOMEM. vfork does not create the image of parent in memory. so that it must work. reply.
Provide info :P
There are probably more processes running, so that the 128MByte are exhausted.
It is also possible, that your mysterious "process" does take more ram.
Hence the oom problem.
It looks like you need to either add ram or find a way to reduce the ram usage.
Adding swap might be a third option, but is not prefered.
Total RAM = 128MB in system.
Process using 97MB. When vfork() system call is issued from this process. vfork returns -1 with errono = ENOMEM. I think Out of Memory Issue (oom). Is there any system call that manage this problem?
No. Add ram, add swap or shrink that process.
Apart from that mysterious process, there are probably others, but at the very least the kernel.
They all need ram as well.
Look, what I am trying to say is :
You *physically* have no resources.
Fiddling with parameters is therefore futile.