System Requirements
LibreQoS can be run either on a dedicated physical server (bare metal) or as a VM. Ubuntu Server 24.04 is the supported operating system.
Fast Sizing Guide (Start Here)
Use this quick guide before reading full hardware tables:
Target profile |
Typical fit |
Starting point |
|---|---|---|
Small |
up to ~1,000 subscribers, up to ~1 Gbps |
2+ strong cores, 8 GB RAM, supported 10G-class NIC |
Medium |
~1,000-5,000 subscribers, ~1-10 Gbps |
6-16 strong cores, 32-64 GB RAM, supported 10/25G NIC |
Large |
~5,000-20,000 subscribers, ~10-50 Gbps |
16-64 strong cores, 64-128 GB RAM, supported 25/50/100G NIC |
High-throughput |
50 Gbps+ or deep hierarchy at scale |
prioritize high single-thread score, queue/core balance, and validated NIC/XDP support |
Then use the detailed tables below to choose specific hardware.
Physical Server (Bare Metal)
CPU
2 or more CPU cores are required
Choose a CPU with high single-thread performance within your budget. Queuing is CPU-intensive, and requires high single-thread performance.
Single-thread CPU performance determines the maximum capacity of a single HTB (CPU core). This, in turn, affects the maximum capacity of any top-level node in the network hierarchy (e.g., top-level sites in your network). This also impacts the maximum speed plan you can offer customers within safe margins.
Single-Thread Score |
Top-Level Node Max |
Customer Plan Max |
|---|---|---|
1000 |
1 Gbps |
100 Mbps |
1500 |
2 Gbps |
500 Mbps |
2000 |
3 Gbps |
1 Gbps |
3000 |
4 Gbps |
2 Gbps |
4000 |
5 Gbps |
3 Gbps |
Below is a table of approximate aggregate capacity, assuming a CPU with a single thread performance rating of 1000, 2000, 3000, or 4000:
CPU Cores |
Single-Thread Score: 1000 |
Single-Thread Score: 2000 |
Single-Thread Score: 3000 |
Single-Thread Score: 4000 |
|---|---|---|---|---|
2 |
1 Gbps |
3 Gbps |
5 Gbps |
7 Gbps |
4 |
3 Gbps |
5 Gbps |
9 Gbps |
13 Gbps |
6 |
4 Gbps |
8 Gbps |
14 Gbps |
20 Gbps |
8 |
5 Gbps |
10 Gbps |
18 Gbps |
27 Gbps |
16 |
10 Gbps |
21 Gbps |
36 Gbps |
54 Gbps |
32 |
21 Gbps |
42 Gbps |
72 Gbps |
108 Gbps |
64 |
42 Gbps |
84 Gbps |
144 Gbps |
216 Gbps |
128 |
84 Gbps |
168 Gbps |
288 Gbps |
Hyper-threading
Please disable Hyper-Threading (Simultaneous Multi-Threading) in the BIOS/UEFI settings, as it can interfere with XDP processing.
Memory
Recommended RAM:
RAM (using CAKE) |
Max Subscribers |
|---|---|
8 GB |
1,000 |
16 GB |
2,500 |
32 GB |
5,000 |
64 GB |
10,000 |
128 GB |
20,000 |
Disk Space
50 GB of disk space or more is generally recommended, both for servers and VM deployments.
Device Recommendations
Small Form Factor (1G to 10G)
Throughput |
10 Gbps |
|---|---|
Per Node / Per CPU Core |
5 Gbps |
Manufacturer |
Minisforum |
Model |
|
CPU Option |
i9-12900H |
RAM Option |
1x32GB |
NIC Option |
Built-in |
Temp Range |
0°C ~ 40°C |
Temp Range |
(32°F ~ 104°F) |
ECC |
No |
Power |
19V DC |
MS-01 Notes:
As with any machine running LibreQoS, please be sure to disable hyperthreading. Specific to the MS-01, please consider replacing the thermal paste to lower CPU temps by about 20 degrees Celsius (Note: this may void the warranty).
Rackmount Servers (10G to 100G)
Throughput |
10 Gbps |
10 Gbps |
25 Gbps |
50 Gbps |
100 Gbps |
|---|---|---|---|---|---|
Per Node / Per CPU Core |
5 Gbps |
5 Gbps |
3 Gbps |
3 Gbps |
4 Gbps |
Manufacturer |
Supermicro |
Dell |
Supermicro |
Supermicro |
Supermicro |
Model |
|||||
CPU Option |
E-2488 |
E-2456 |
8534P |
8534P |
9745 |
RAM Option |
1x32GB |
1x32GB |
4x16GB |
2x64GB |
4x64GB |
NIC Option |
10-Gigabit X710-BM2 (2 x SFP+) |
Intel X710-T2L (2 x 10G RJ45) |
Mellanox (2 x SFP28) |
Mellanox 100-Gigabit (2 x QSFP56) |
MCX653106A-HDAT |
Temp Range |
0°C ~ 40°C |
5–40°C |
0°C ~ 40°C |
0°C ~ 40°C |
0°C ~ 40°C |
Temp Range |
(32°F ~ 104°F) |
(41–104°F) |
(32°F ~ 104°F) |
(32°F ~ 104°F) |
(32°F ~ 104°F) |
ECC |
Yes |
Yes |
Yes |
Yes |
Yes |
Power |
AC |
AC |
AC |
AC |
AC |
Another cost-effective solution is to procure a used server from a reputable vendor, such as TheServerStore. Such vendors often stock servers capable of 10 Gbps throughput, for around $500 USD.
Server Setup Prerequisites
Network Interface Requirements
One management network interface completely separate from the traffic shaping interfaces. Usually this would be the Ethernet interface built in to the motherboard.
A Dedicated Network Interface Card for Two Shaping Interfaces
⚠️ Bonded Interfaces: LibreQoS does not support the use of bonded interfaces. This is a limitation of XDP.
Officially supported Network Interface Cards for the two shaping interfaces are listed below:
NIC Controller |
Port Speed |
Suggested Models |
Known Issues |
|---|---|---|---|
Intel X520 |
10 Gbps |
Module compatibility* |
|
Intel X710 |
10 Gbps |
Module compatibility* |
|
Intel XXV710 |
10 / 25 Gbps |
Module compatibility* |
|
Intel XL710 |
10 / 40 Gbps |
Module compatibility* |
|
Mellanox ConnectX-4 Lx |
10/25/40/50 Gbps |
No known issues. |
|
Mellanox ConnectX-6 |
10/25 Gbps |
No known issues. |
|
Mellanox ConnectX-6 |
100 Gbps |
No known issues. |
|
Mellanox ConnectX-7 |
200 Gbps |
No known issues. |
(*) Intel often vendor-locks SFP+ module compatibility. Check module compatibility before buying. Mellanox does not have this problem.
We will ONLY provide support for systems using a NIC listed above. Some other NICs may work, but will not be officially supported by LibreQoS. If you want to test the compatibility of another card, please be aware of these fundamental NIC requirements:
NIC must have multiple TX/RX transmit queues, greater than or equal to the number of CPU cores. Here’s how to check from the command line.
NIC must have XDP driver support for high-throughput (10 Gbps+).
If you discover that a card not listed in the table above is compatible, please let us know by emailing support [at] libreqos.io.
Virtual Machine
LibreQoS can be run as a VM, although this comes at a performance penalty of 30%. For VMs, NIC passthrough is required to achieve throughput above 10 Gbps (XDP vs generic XDP). LibreQoS requires 2 or more RX/TX queues, so when using a virtualization platform such as Proxmox, be sure to enable Multiqueue for the shaping interfaces assigned to the VM. Multiqueue should be set equal to the number of vCPU cores assigned to the VM.
Throughput |
vCPU* |
RAM |
Disk |
|---|---|---|---|
1 Gbps |
2 |
8 GB |
50 GB |
10 Gbps |
8 |
32 GB |
50 GB |
Assumes vCPU performance equal to a single core of the Intel Xeon E-2456 with hyper-threading disabled.