Just found this on my live Arch Linux diag stick, example:
A bit easier on the eyes maybe. stress-ng needs a bit of swap, then:
86% is about the most I could use, before kernel out-of-memory killer started attacking worker processes. Watch with rasdaemon for ECC errors. To test TDP a Linux kernel compilation from RAM will put a few extra watts of load on the system but not torture RAM as much. All completely free and open source.
Loopback-Test is a bit involved but still easy. Server:
Client:
For CX3 I only ever use FDR == 56 Gbps capable DACs and fiber modules. Haven't switched to 100/200 Gbps because that really needs PCIe 4 or 5 x16 and gear for this is too steep on the cost per performance curve. Also, my god, what's with all those post-Ice-Lake bugs and performance regressions. Intel really needs to get its act together. Fire 90% of all those useless suits and hire true engineers.
Code:
lspci -vv 2>/dev/null | grep -E "^.+:.+\.|Lnk(Cap2?|Sta|Ctl2):"
...
05:00.0 SATA controller: JMicron Technology Corp. JMB58x AHCI SATA controller (prog-if 01 [AHCI 1.0])
Subsystem: JMicron Technology Corp. Device 0000
LnkCap: Port #0, Speed 8GT/s, Width x2, ASPM not supported
LnkSta: Speed 8GT/s, Width x2
LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink- Retimer- 2Retimers- DRS-
LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
...
Code:
nice -n19 stress-ng --vm $(nproc) --vm-bytes 86% --vm-keep --vm-populate --vm-madvise willneed --verify -v -t 4h --tz --perf
Loopback-Test is a bit involved but still easy. Server:
Code:
#!/bin/sh
echo Setup
ip netns add ns_server
ip netns add ns_client
ip link set enp1s0 netns ns_server
ip netns exec ns_server ip addr add dev enp1s0 192.168.1.1/24
ip netns exec ns_server ip link set dev enp1s0 up
ip netns exec ns_server ethtool -s enp1s0 speed 56000 autoneg off
ip link set enp1s0d1 netns ns_client
ip netns exec ns_client ip addr add dev enp1s0d1 192.168.1.2/24
ip netns exec ns_client ip link set dev enp1s0d1 up
ip netns exec ns_client ethtool -s enp1s0d1 speed 56000 autoneg off
ip netns exec ns_server iperf -s -B 192.168.1.1 -w 16M
echo ""
echo Teardown
killall iperf
killall bwm-ng
sleep 0.5
ip netns del ns_server
ip netns del ns_client
echo Done
exit 0
Code:
#!/bin/sh
while :; do
ip netns exec ns_client iperf -c 192.168.1.1 -B 192.168.1.2 -P 2 -w 16M -t 300
sleep 0.1
done