Insanly huge agent cpu spike

Offen
#190 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
cpp, docker

Rechercherichtung

Beginnen Sie damit, den bereitgestellten Docker-Befehl auf dem gemeldeten Ubuntu-20.04- und ROS-2-Foxy-Setup mit acht ESP32-Clients auszuführen, und überwachen Sie dann htop während des Publisher-Beispiels. Reproduzieren Sie den verzögerten CPU-Anstieg und den Verbindungsverlust, identifizieren Sie das dafür verantwortliche Agent-Verhalten und verifizieren Sie, dass die CPU-Auslastung stabil bleibt, während weiterhin alle Clients publizieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Describe the bug
Hi,
I am encountering huge CPU usage of the Micro ros agent running from docker as follows:
docker run -it --rm -v /dev:/dev --privileged --net=host microros/micro-ros-agent:foxy udp4 -p 8888
MicrosoftTeams-image (23)

To Reproduce
Steps to reproduce the behaviour:

  1. Clone repo 'micro_ros_arduino' Foxy Branch
  2. Flash 8 ESPs with it (Client Key unique for each Esp)
  3. Run Publisher example for 3 hours
  4. CPU spike happens after around 3h
  5. See CPU spike on htop

Expected behaviour
A normal usage of ~100% CPU usage max at all times.

System information (please complete the following information):

  • OS: Ubuntu 20.04
  • ROS 2 Foxy
  • Hardware: 8x ESP32 micro-controllers running agent and client version 2.3.0

what can be the possible reason behind such a huge CPU usage?
Observation from my tests: it happens exponentially were it starts to increase to 200 then 500 then 1000%
And after the agent reaches past 200%, the Esp32 loses connection with the agent and fails to publish any messages.
Any help is much appreciated!

Vorherrschende Sprache
C++
Sterne
201
Forks
111
Ø Merge
1 T. 6 Std.
Gemergte PRs (30 T.)
10

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus micro-ROS/micro-ROS-Agent

Alle Issues in micro-ROS/micro-ROS-Agent

Ähnliche Issues

Weitere Issues zu C++

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.