Erstens: Linux ist kein Echtzeitbetriebssystem. Es gibt keine Möglichkeit, dem Kernel mitzuteilen, dass einige Anwendungen innerhalb eines bestimmten Zeitraums, wie etwa 3-4 ms, auf ein Ereignis reagieren müssen, und geben eine Garantie dafür, dass dies geschieht. Wenn das System geladen ist, müssen Sie also davon ausgehen, dass es zu Verzögerungen kommt.
Das heißt, Sie können die Dinge für Ihre UDP-Paket-Empfangsanwendung optimieren:
Linux verfügt über eine Netzwerkverkehrskontrolle (siehe z. B. Traffic Control HOWTO, Beispielskript für DSL mit begrenzter Bandbreite ), mit der Sie verschiedene Warteschlangen mit unterschiedlichen Prioritäten einrichten können, z. B. für Ihre UDP-Pakete und für große Pakete.
Linux hat cgroups (Kontrollgruppen), mit denen Sie verschiedene E / A-Prioritäten und -Limits für den UDP-Empfangsprozess und die Prozesse
ftpd
/sshd
etc. festlegen können, da ich davon ausgehen kann, dass Festplatten-E / A durch andere Prozesse auch Ihr System blockieren kann UDP-Paketempfangsanwendung (testen Sie, ob dies wahr ist).
Nochmals: Es gibt keine Möglichkeit, etwas zu garantieren.