Skip to content
This repository has been archived by the owner on Jul 16, 2024. It is now read-only.

Add a note about big.LITTLE CPUs and "AllowedCPUs". #306

Merged
merged 1 commit into from
Jan 5, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions source/docs/installation/sw_install/advanced-cmd.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,20 @@ You can also create a systemd service that will automatically run on startup. To

[Service]
WorkingDirectory=/path/to/photonvision
# Optional: run photonvision at "nice" -10, which is higher priority than standard
# Nice=-10
ExecStart=/usr/bin/java -jar /path/to/photonvision/photonvision.jar

[Install]
WantedBy=multi-user.target

Then copy the ``.service`` file to ``/etc/systemd/system/`` using ``cp photonvision.service /etc/systemd/system/photonvision.service``. Then modify the file to have ``644`` permissions using ``chmod 644 /etc/systemd/system/photonvision.service``.

.. note::
Many ARM processors have a big.LITTLE architecture where some of the CPU cores are more powerful than others. On this type of architecture, you may get more consistent performance by limiting which cores PhotonVision can use. To do this, add the parameter ``AllowedCPUs`` to the systemd service file in the ``[Service]`` section.

For instance, for an Orange Pi 5, cores 4 through 7 are the fast ones, and you can target those cores with the line ``AllowedCPUs=4-7``.

Installing the ``systemd`` Service
----------------------------------
To install the service, simply run ``systemctl enable photonvision.service``.
Expand Down