Skip to main content
Version: 2.201911.x.x LTS

Custom limits for Nevis processes

Heavily used installations and large servers may require lifting the system limits for Nevis processes, to take full advantage of the available power. On the other hand, reasonably set limits protect an operating system against misbehaving processes that try to exhaust all the resources they can get. Therefore, each systemd controlled Nevis process on the nevisAppliance can be configured individually.

Perform the next steps to adjust the default system limits:

  1. Create an override.conf file for the respective instance. Replace <nevis...> and <instance> with the relevant Nevis component and instance:
systemctl edit <nevis...>@<instance>.service
# e.g. systemctl edit [email protected]

For components running with WildFly, the component to use is adnwildfly. For example, for the default nevisIDM instance on WildFly run:

systemctl edit adnwildfly@nevisidm

With an override.conf file you can for example limit the number of file handles (LimitNOFILE=) or how many seconds a service needs to start-up (TimeoutStartSec=).

For more details, see systemd.exec(5) Process Properties or systemd.resource-control(5).

  1. Reload the systemd configuration:
systemctl daemon-reload
  1. Restart the changed service:
<nevis...> <instance> restart
# e.g. nevisproxy default restart

The given Nevis instance must exist and already be registered to systemd prior to customizing its systemd parameters.

caution

The removal of a Nevis instance does not remove the directory /etc/systemd/system/[email protected]/ nor the file override.conf within it. So when you want to re-use the name of the removed instance, manually remove the instance directory /etc/systemd/system/[email protected]/ after removing the instance. This is necessary to prevent the new instance with the "old" name from using old systemd custom settings.

Example

In this example scenario, the start phase of a heavily used nevisProxy instance called default takes longer than the timeout set by default within the systemd. Furthermore, the instance's limit regarding the amount of opened files is too low. As a result, the nevisProxy instance is reported as "dead" by systemd, it cannot handle enough files during operation as required and it produces various errors in its navajo.log.

Perform the next steps to improve this situation:

  1. Create an override.conf file for this nevisProxy instance:
systemctl edit [email protected]

This opens a vi editor with a new file.

  1. Adjust both the number of file handles (to 500000) and the startup timeout (to 300 seconds). Therefore, change the content of the file to:
[Service]
TimeoutSec=300
LimitNOFILE=500000
  1. Save the changes and close the editor. Then reload systemd:
systemctl daemon-reload
  1. Restart the affected instance:
systemctl restart [email protected]