Files
scylladb/docs/kb/customizing-cpuset.rst

99 lines
1.9 KiB
ReStructuredText

==========================
Customizing CPUSET
==========================
CPUSET in the ``/etc/scylla.d/cpuset.conf`` file is automatically configured by running the ``scylla_setup``
(or ``scylla_cpuset_setup``) script. If you want to customize CPUSET, you must modify both the ``cpuset.conf``
and ``perftune.yaml`` files.
Note that the ``scylla-server`` service will generate ``/etc/scylla.d/perftune.yaml`` *only if* the file doesn't exist.
Examples
----------
Here are a few examples of possible configurations. In the examples, ``eth5`` is used as a NIC name and ``/var/lib/scylla`` as a data directory.
Example 1
^^^^^^^^^^
* 16 CPUs system.
* You want to run ScyllaDB on CPUs 3, 4, 5, and have IRQs handled on the same CPUs, while allowing other apps on the same machine to benefit
from XFS/RFS/RPS from ``eth5``.
**cpuset.conf:**
.. code-block:: none
CPUSET="--cpuset 3,4,5 "
**perftune.yaml:**
.. code-block:: none
cpu_mask: '0xffff'
dir:
- /var/lib/scylla
irq_cpu_mask: '0x38'
nic:
- eth5
tune:
- net
- disks
Example 2
^^^^^^^^^^
* 16 CPUs system.
* You want to run ScyllaDB on CPUs 3, 4, 5, and have IRQs handled on the same CPUs, and ScyllaDB is going to be the only application
that will use ``eth5``.
**cpuset.conf:**
.. code-block:: none
CPUSET="--cpuset 3,4,5 "
**perftune.yaml:**
.. code-block:: none
cpu_mask: '0x38'
dir:
- /var/lib/scylla
irq_cpu_mask: '0x38'
nic:
- eth5
tune:
- net
- disks
Example 3
^^^^^^^^^^
* 16 CPUs system.
* You want to run ScyllaDB on CPUs 3, 4, 5, and IRQs handled on CPUs 6,7,8, while allowing other apps on the same machine to benefit
from XFS/RFS/RPS from ``eth5``.
**cpuset.conf:**
.. code-block:: none
CPUSET="--cpuset 3,4,5 "
**perftune.yaml:**
.. code-block:: none
cpu_mask: '0xffff'
dir:
- /var/lib/scylla
irq_cpu_mask: '0x1c0'
nic:
- eth5
tune:
- net
- disks