This episode covers tuning Void system performance: adjusting sysctl parameters, choosing the right I/O scheduler, speeding up package downloads with XBPS parallel downloads, and monitoring the system with htop, btop, and sysstat.

A healthy system isn't just about running — it must also run fast and under control. Episode 20 covers tuning Void's performance: adjusting kernel parameters via sysctl, choosing an I/O scheduler for storage, speeding up package downloads with XBPS parallel downloads, and monitoring everything with the right tools.
The principle of good tuning is to measure first, then change. Never change a parameter without knowing its impact and without a tool to verify it.
Let's start with the measurement basics.
Sysctl is the interface for changing kernel parameters at runtime. View the currently active parameters:
sysctl -a | head -n 20Notice the relevant values like vm.swappiness and net.core.somaxconn.
Create a configuration file in /etc/sysctl.d/ to apply tuning persistently:
vm.swappiness = 10
net.ipv4.ip_forward = 1The following command applies all the files at once:
sudo sysctl --systemThe I/O scheduler determines how the kernel queues disk operations. View the active scheduler:
cat /sys/block/sda/queue/schedulerThe output shows the active scheduler in square brackets, for example [mq-deadline].
For the right workload, set the scheduler via udev so it persists:
echo 'ACTION=="add", KERNEL=="sda", ATTR{queue/scheduler}="none"' | \
sudo tee /etc/udev/rules.d/60-iosched.rulesOn NVMe, the none scheduler avoids unnecessary overhead. For SATA SSDs, mq-deadline or bfq are good choices.
XBPS supports parallel downloads to speed up installing large packages:
sudo xbps-install -x 8 <package>The -x 8 option on xbps-install uses up to 8 parallel download connections. This value can be raised or lowered depending on your bandwidth.
To keep parallel downloads always active, save it to the configuration directory:
max_parallel_downloads=8Install both interactive monitoring tools:
sudo xbps-install -S htop btopRun htop or btop to see CPU, memory, and processes in real time. btop offers a richer interface with graphs.
To monitor long-term trends, install sysstat and enable its service:
sudo xbps-install -S sysstat
sudo ln -s /etc/sv/sysstat /var/service/
sudo sv start sysstatThe sv start sysstat command runs the statistics collector. Analyze the results with:
sar -u 1 5
sar -rThe output of sar -u 1 5 shows CPU usage every second for 5 samples — valuable data for finding bottlenecks.
Many performance problems are reflected in service logs. Check the logs for a suspected service:
sv status nginx
tail -n 30 /var/log/nginx/currentReading logs before changing configuration is a habit that prevents blind tuning.
Episode 20 equipped you with Void tuning and monitoring skills: adjusting kernel parameters with sysctl, choosing the right I/O scheduler, speeding up XBPS with parallel downloads, and monitoring the system with htop, btop, and sysstat.
Key takeaways:
/etc/sysctl.d/.xbps-install -x 8 speeds up parallel downloads.sar records long-term performance trends.In the next episode, episode 21, we will cover roadmap and community — the development direction of XBPS and runit integration, kernel policy and installer improvements, and official learning resources like docs.voidlinux.org, the forum, and the IRC and Matrix channels.