The server was unable to fork, ret=0 errno=2

SikandraShahid

New Member
While trying to start a progress db in multi-user mode I am getting an error, which is written below.
13:34:36 BROKER This broker will terminate when session ends. (5405)
13:34:36 BROKER ** The server was unable to fork, ret=0 errno=2 (802)

Could you please let me know why this is happing and how to resolve it?

Regards,
Sikandra
 
These errors usually mean that you are either out of memory (or swap space) or that some OS kernel limit (such as NPROC) has been exceeded.

You need to post your Progress version and the specific OS that you are using if you hope for a more precise answer.
 
My best guess is that you have run out of memory. Perhaps from having many databases running or maybe by setting -B too large. Other than that I don't know. Windows isn't really my cup of tea ;)
 
SYSTEM ERROR: Too many subprocesses, cannot fork. Errno=12. (358)

We run multiple progress databases ver 9.1D and on HP-UX 11.11 system and sometime we get this message. We have approx 80GB of physical memory available on the system. In some thread it mentioned that we need to modify certain kernel parameters. Is there is anything which we need to look at the database level as well? Please let me know. Thanks for the help.
 
Did you set the kernel parameters as described in the installation and configuration guide?

Other than that you need to make sure that you do not run out of memory. While the buffer pool (-B) is the biggest factor when calculating the memory needs there are many other things, apart from what else is running on the machine, that you need to take into account: For example each remote server needs some memory per user connected to it. When you run multiple databases and have many remote clients connecting to them chances are that you will have a lot of remote servers. Additionally you might want to take batch processes into account. YMMV but I usually calculated around 50MB per such process to be on the save side when the going gets tough.

Plus, I would check the port ranges you have specified for the remote servers that are spawned by the database broker to server the remote clients.

I am not a HP-UX guy - therefore I can't give you a recommendation on how you should monitor the machine's memory ...
Heavy Regards, RealHeavyDude.
 
Back
Top