Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
software:linux:realtime:benchmark:start [2019-02-11 15:49] – mgehrig2 | software:linux:realtime:benchmark:start [2023-04-11 11:17] (aktuell) – gelöscht Urs Graf | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Benchmark ======= | ||
- | ===== Introduction ===== | ||
- | There are many different tools available to measure the realtime performance of a system. | ||
- | |||
- | The cyclictest is the simplest and most usefull benchmark. | ||
- | |||
- | ===== Tools ===== | ||
- | ==== Cyclictest ==== | ||
- | Standard tool to measure the maximum jitter of a system. | ||
- | |||
- | **[[software: | ||
- | |||
- | |||
- | |||
- | ===== Influences on real-time behaviour ===== | ||
- | The following things can influence the real-time behaviour: | ||
- | |||
- | * CPU | ||
- | * Mobile x86 CPU (with suffix like U, Y and M i.e i7-4600U) seems to perform much worse than non-mobile processors. Mobile processer add about 100us-200us jitter. | ||
- | * ARM processer seem to have about 60us max jitter and a high medium jitter | ||
- | * Kernel version | ||
- | * 4.4.169-rt177 seems to be better than 4.19.15-rt12 | ||
- | * BIOS settings | ||
- | * Some drivers, like WiFi driver, may negatively influence latency | ||
- | |||
- | ===== Methodical procedure ===== | ||
- | ==== Overview ==== | ||
- | At first, test the most basic system possible. | ||
- | With this test, you can get a baseline of the best possible real-time performance of the hardware. | ||
- | Every feature added will make the system more complex and add more stuff, which can increase jitter. | ||
- | |||
- | With this approach you can get a feeling which performance is possible and which part of the system is responsible for a high jitter. | ||
- | |||
- | |||
- | - Test hardware, BIOS settings and kernel version | ||
- | - Test full distro in text mode | ||
- | - Test full distro in graphical mode | ||
- | - Test full distro under load | ||
- | |||
- | ==== 1.) Test hardware, BIOS settings and kernel version ==== | ||
- | - Build a [[software: | ||
- | - Install the [[software: | ||
- | - Reboot with the new kernel in [[software: | ||
- | - Check the real-time performance with [[software: | ||
- | |||
- | **Tipp**: You may want to use [[https:// | ||
- | This application provides multiple virtual terminal sessions when you want to run multiple programs in parallel.. | ||
- | |||
- | === Tuning === | ||
- | If you the measured latencies are to high, you can tweak your system. | ||
- | The options which are simple but effective are listed first. | ||
- | |||
- | * Tune some [[software: | ||
- | * Tune some kernel settings TODO | ||
- | * Use a different kernel version. (4.4.169-rt177 seems to be better than 4.19.15-rt12) | ||
- | * If the jitter is still too high, you may have to choose a different CPU | ||
- | |||
- | |||
- | ==== 2.) Test full distro in text mode ==== | ||
- | Boot your system in [[software: | ||
- | |||
- | If the real-time performance is not significantly reduced, then the 3rd step can be continued. | ||
- | Run a 24h test so that exceptional events can also be detected. | ||
- | |||
- | If the real-time performance is significantly worse, then a WLAN driver or something similar can be the cause. | ||
- | To further isolate the problem, the WLAN driver, or another suspected driver, can be deactivated ('' | ||
- | A new test should result in an improvement of the maximum jitter. | ||
- | |||
- | === Other possible causes === | ||
- | * WLAN driver | ||
- | * Ethernet Triber | ||
- | * Bluetooth driver | ||
- | * Various peripheral devices | ||
- | |||
- | |||
- | ==== 3.) Test full distro in graphical mode ==== | ||
- | It is recommended that a real-time system be used only in text mode. | ||
- | With a graphical user interface, the system is generally more unstable. | ||
- | |||
- | If, however, the system is to be used with a graphical user interface, a 24h test [[software: | ||