Linux settings
UDP buffers
To improve the performance while receiving and sending multiple streams, and not overflow UDP buffers (leading to receive buffer errors as identified using e.g. ‘netstat -suna’), it is recommended to adjust some UDP buffer settings on the host system.
Recommended value of the buffers is 16MB, but different setups may need larger buffers or would suffice with lower values. To change the buffer values issue:
sudo sysctl -w net.core.rmem_default=16000000
sudo sysctl -w net.core.rmem_max=16000000
sudo sysctl -w net.core.wmem_default=16000000
sudo sysctl -w net.core.wmem_max=16000000
To make the changes persistant edit/add the values to /etc/sysctl.conf:
net.core.rmem_default=16000000
net.core.rmem_max=16000000
net.core.wmem_default=16000000
net.core.wmem_max=16000000
Core dump
On the rare occasion that a segmentation fault or a similar error should occur, a core dump is generated by the operating system to record the state of the application to aid in troubleshooting. By default these core dumps are handled by the ‘apport’ service in Ubuntu and not written to file. To store them to file instead we recommend installing the systemd core dump service.
sudo apt install systemd-coredump
Core dumps will now be compressed and stored in /var/lib/systemd/coredump
.
The systemd core dump package also includes a helpful CLI tool for accessing core dumps.
List all core dumps:
$ coredumpctl list
TIME PID UID GID SIG COREFILE EXE
Thu 2022-10-20 17:24:16 CEST 985485 1007 1008 11 present /usr/bin/example
You can print some basic information from the core dump to send to the Agile Live developer to aid debugging the crash
$ coredumpctl info 985485
In some cases, the developers might want to see the entire core dump to understand the crash, then save the core dump using
$ coredumpctl dump 985485 --output=myfilename.coredump
Core dumps will not persist between reboots.