Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
software:linux:realtime:benchmark:start [2019-02-08 16:02] – mgehrig2 | software:linux:realtime:benchmark:start [2019-02-15 09:58] – mgehrig2 | ||
---|---|---|---|
Zeile 17: | Zeile 17: | ||
* CPU | * CPU | ||
- | * Mobile x86 CPU (with suffix like U, Y and M i.e i7-4600U) seems to performe | + | * Mobile x86 CPU (with suffix like U, Y and M i.e i7-4600U) seems to perform |
* ARM processer seem to have about 60us max jitter and a high medium jitter | * ARM processer seem to have about 60us max jitter and a high medium jitter | ||
* Kernel version | * Kernel version | ||
Zeile 23: | Zeile 23: | ||
* BIOS settings | * BIOS settings | ||
* Some drivers, like WiFi driver, may negatively influence latency | * Some drivers, like WiFi driver, may negatively influence latency | ||
+ | |||
+ | ==== Don't ==== | ||
+ | * Don't start the application 'Grub customizer' | ||
+ | |||
+ | |||
+ | ==== Does ==== | ||
+ | * If possible, use only a test based system. See ' | ||
+ | * Run only software that is absolutely necessary on the real-time master. | ||
+ | * Deactivate automatic updates | ||
+ | |||
===== Methodical procedure ===== | ===== Methodical procedure ===== | ||
==== Overview ==== | ==== Overview ==== | ||
At first, test the most basic system possible. | At first, test the most basic system possible. | ||
- | With this test, you can get a baseline of the best possible real-time | + | With this test, you can get a baseline of the best possible real-time |
- | Every feature added will make the system more complex and add more stuff which can increase jitter. | + | 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 if 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: | ||
+ | * Use a different kernel version. (4.4.169-rt177 seems to be better than 4.19.15-rt12) | ||
+ | * Tune some kernel settings TODO | ||
+ | * 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 third 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 driver | ||
+ | * 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: | ||
+ | |||
+ | |||
+ | ==== 4.) Test full distro under load ==== | ||
+ | === High CPU load === | ||
+ | High CPU load from non-RT processes does not affect the performance of RT processes very much. | ||
+ | However, if the processor is not sufficiently cooled (e.g. in a mobile system), the processor can overheat. | ||
+ | In such a case, the processor clock is clocked down by the system, which can severely impair real-time performance. | ||
- | With this aproach you can get a feeling which performance is possible and which part of the system is responsible for a high jitter. | + | Check the temperature |
+ | If the processor does overheat: | ||
+ | * Disable hyper.threading in BIOS | ||
+ | * Deactivate Turboboost in BIOS | ||
+ | * Ensure better cooling | ||
+ | **Note ***: Depending on the processor, // | ||
+ | Observe the // | ||
+ | === Normal Load === | ||
+ | In the last test allplitkation are to be started, which are to run also later in the employment. | ||
+ | For the // | ||
+ | This test should last at least 24 hours. | ||