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

Insanly huge agent cpu spike

オープン
#190 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
C++
スター
201
フォーク
111
平均マージ
1日 6時間
マージ済み PR(30日)
10

説明

**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)](https://user-images.githubusercontent.com/54395427/234046041-e96a0c4a-b77d-44cd-b1b8-bd807258a5b4.png)

**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!

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、ESP32クライアント8台を使用した、報告された Ubuntu 20.04 および ROS 2 Foxy のセットアップで、提供されている Docker コマンドを実行し、その後 Publisher の例の実行中に htop を監視します。CPU使用率の遅延した増加と接続の喪失を再現し、その原因となる agent の動作を特定して、すべてのクライアントがパブリッシュを続けている間もCPU使用率が安定していることを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp, docker
領域
distributed-systems, embedded-iot, networking, performance
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。