micro-ROS / micro-ROS/micro-ROS-Agent

Insanly huge agent cpu spike

Aperta
#190 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
C++
Stelle
201
Fork
111
Merge medio
1g 6h
PR unite (30g)
10

Descrizione

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!

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia eseguendo il comando Docker fornito sulla configurazione segnalata con Ubuntu 20.04 e ROS 2 Foxy e otto client ESP32, quindi monitora htop durante l’esempio Publisher. Riproduci la crescita ritardata dell’utilizzo della CPU e la perdita della connessione, identifica il comportamento dell’agent responsabile e verifica che l’utilizzo della CPU rimanga stabile mentre tutti i client continuano a pubblicare.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp, docker
Ambito
distributed-systems, embedded-iot, networking, performance
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.