Was this page helpful?
Caution
You're viewing documentation for an unstable version of ScyllaDB Manual. Switch to the latest stable version.
Increase ScyllaDB resource limits over systemd¶
Topic: Increasing resource limits when ScyllaDB runs and is managed via systemd
Audience: ScyllaDB administrators
Issue¶
Updates to /etc/security/limits.d/scylla.conf do not have any effect. After a cluster rolling restart is completed, the ScyllaDB limits listed under /proc/<PID>/limits are still the same or lower than what has been configured.
Root Cause¶
When running under systemd, ScyllaDB uses the resource limits set in /lib/systemd/system/scylla-server.service, such as LimitNPROC — the maximum number of processes allowed to run in parallel (defaults to 8096). Limits configured through /etc/security/limits.d do not apply to systemd services.
Even though ScyllaDB’s provided defaults are suitable for most workloads, there may be situations on which these values may need to be overridden.
Solution¶
To override ScyllaDB limits on systemd, run:
sudo systemctl edit scylla-server.service
Within the opened text editor, add the following lines and adjust the parameters as needed, e.g.:
[Service]
LimitNPROC=16384
Restart ScyllaDB:
sudo systemctl restart scylla-server.service
This will create a configuration file named override.conf under the /etc/systemd/system/scylla-server.service.d folder. Whenever editing this file by hand manually, remember to run sudo systemctl daemon-reload before restarting ScyllaDB, so that systemd reloads the changes.
To check the updated limits allowed by the ScyllaDB process run:
cat /proc/$(pidof scylla)/limits
References¶
The Linux Kernel Documentation for /proc/sys/fs/* <https://www.kernel.org/doc/Documentation/sysctl/fs.txt>
systemd.exec(5) manpage