ProcessRestartMemoryLimit
Enter a memory threshold for recyclable server processes running within the domain. When the server processes exceed the limit, the system restarts, or recycles, them. This setting applies to all recyclable server processes within the domain. If set to 0, this feature is disabled and the system recycles server processes according to the recycle count setting for that recyclable server process.
To enable the restart memory limit, enter a value, in megabytes, as the memory threshold. For example, if you set the restart memory limit for the domain to 500, any recyclable server process running within the domain restarts after it has consumed 500 megabytes of memory and after the current service request has been processed.
Recyclable server processes include:
-
PSAPPSRV
-
PSANALYTICSRV
-
PSSAMSRV
-
PSQCKSRV
-
PSQRYSRV
-
Integration Broker server processes
The restart memory limit can be set at the individual server process level as well. That is, you can set the restart memory limit for the entire domain using the setting in the [Domain Settings] section of the configuration file, or you can set it for a specific server process to override the domain-level limit for that server process type.
When the system recycles a server process, the system writes in the log file a statement similar to the following:
PSAPPSRV.4356 (9) [2014-05-12T09:02:44.273 QEDMO@<machine-info>.example.com](0) Recycling server due to reaching the configured memory threshold of 150 (cfg section [Domain Settings]).
PSAPPSRV.4356 (9) [2014-05-12T09:02:44.273 QEDMO@<machine-info>.example.com](0) In the last request the memory increased up to 193.
PSAPPSRV.4356 (9) [2014-05-12T09:02:44.277 QEDMO@<machine-info>.example.com](0) Recycling server after 96 services
PSAPPSRV.5016 (0) [2014-05-12T09:02:45.112](0) PeopleTools Release 8.54-901-R1 (Windows) starting. Tuxedo server is APPSRV(99)/1Note:
If you implement this feature, you need to test and monitor the appropriate memory threshold for your site’s performance requirements and resource usage to reach the optimal setting.
The system implements the ProcessRestartMemoryLimit recycling behavior according to these rules:
-
If ProcessRestartMemoryLimit is disabled for the domain (set to 0), and the ProcessRestartMemoryLimit parameter is disabled for each individual server process configuration section, the Recycle Count setting controls when a server process recycles (restarts).
-
If ProcessRestartMemoryLimit is enabled for the domain, all recyclable server processes running in the domain are subject to that memory limit, unless the ProcessRestartMemoryLimit parameter is set to a different value in that server type’s configuration section. For example, assume at the domain level, ProcessRestartMemoryLimit is set to 500, but the ProcessRestartMemoryLimit in the PSQRYSRV section is set to 600. In this case, all recyclable server processes running in the domain will be recycled when a server process consumes 500 megabytes off memory, except for PSQRYSRV, which will not recycle until it reaches the 600 megabyte limit.
-
The ProcessRestartMemoryLimit cannot be set too low so as to prevent the domain from establishing the minimum memory requirements for booting and performing basic operations. If the memory limit is set too low, the domain will not boot, and the system writes an error message into the log file similar to the following:
PSAPPSRV.4272 (0) [2014-05-12T09:18:25.535](0) Taken configuration variable ProcessRestartMemoryLimit from the section [Domain Settings] 20 Mb is not big enough. PSAPPSRV initially needs at least 40 Mb.
For the [Publish&Subscribe] (Integration Broker) server process group, there is an additional layer of priority given to the ProcessRestartMemoryLimit parameter, because you can set the ProcessRestartMemoryLimit parameter at the group level as well. For example:
-
If ProcessRestartMemoryLimit is set within the [Publish&Subscribe] configuration section, that setting overrides any ProcessRestartMemoryLimit setting at the domain level. The ProcessRestartMemoryLimit value set within the [Publish&Subscribe] section applies to all integration server processes (handlers and dispatchers) running in that group within the domain.
-
If ProcessRestartMemoryLimit is set within an individual server process configuration section, such as [PSPUBHND_dflt] (settings for publication contract handler), that setting overrides any ProcessRestartMemoryLimit setting at the [Publish&Subscribe] section level or the domain level.