When running PxPlus as a service on Windows systems the system will limit the amount of memory that it will allow the service to use. This is caused by the fact that Windows has pre-set hard boundaries defined for 'service' memory and 'user/application' memory.
This can often lead to problems trying to connect to a Windows server running the PxPlus Simple CS, Application server, or NTHost/Slave as a service. You can confirm this is the problem often by instead of running as a service you can run as a desktop application. If this solves the issue and allows more users to connect, then the problem is with the Windows memory settings.
The problem can often be rectified by changing the default Windows memory settings found in the system registry.
This registry entry will look something like this:
%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,20480,768
Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThreads=16
The values you need to change are found in the SharedSection parameter string which uses the following format to specify heap size:
- xxxx specifies the maximum size of the system-wide heap (in kilobytes)
- yyyy specifies the size of each desktop heap
- zzzz specifies the size of the desktop heap that is associated with a non-interactive Windows processes
In newer systems, like Windows 10, these are something like:
In older systems, like Win 2003, the standard is:
The values in these settings will dictate the number of concurrent sessions you can have running in the service. In particular the last value (desktop Heap for non-interactive sessions) will need to be increased to support more than about 40 PxPlus tasks.
Increasing this value will generally allow more users to connect.
We suggest only increasing it by about 512 at a time as setting it too high can cause Windows not to start. Generally values under 4096 can support most installations.