Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.13.3 CPU-Last steigt, Werte werden nicht aktualisiert #778

Closed
ammawel opened this issue Feb 8, 2023 · 16 comments
Closed

0.13.3 CPU-Last steigt, Werte werden nicht aktualisiert #778

ammawel opened this issue Feb 8, 2023 · 16 comments
Assignees

Comments

@ammawel
Copy link

ammawel commented Feb 8, 2023

Mit Version 0.13.3 zeigt htop den scanprocess von ble permanent an erster Stelle mit ca. 20% CPU (Raspi 4, 8GB), Messwerte wie Temperatur werden nicht aktualisiert, RSSI oder Batterie werden aktualisiert.
Zurück zu 0.13.2 und die ble-Welt ist wieder in Ordnung: scanprocess mit 0.7% bis 1.3% CPU in htop und alle Werte der Thermometer werden wieder aktualisiert.
Das erinnertstark an die Probleme mit 0.13.1 und die entsprechenden Meldungen.

@AlCalzone
Copy link
Owner

Ach verdammte Axt... Danke für den Hinweis.

@Apollon77
Copy link
Contributor

Bitte mach mal ein

npm list @abandonware/bluetooth-hci-socket
npm list @abandonware/noble

Was steht denn da? Speziell beim ersten? Da muss 0.5.3-10 stehen, sonst ist was falsch gelaufen

@Apollon77
Copy link
Contributor

PS: AM besten mach das jetzt, dann update den Adapter nochmals auf die neue version und mach es dann wenn es wieder passiert nochmal.

@ammawel
Copy link
Author

ammawel commented Feb 8, 2023

Version 0.13.2 - funktioniert:

pi@homeserver:/opt/iobroker $ npm list @abandonware/bluetooth-hci-socket
iobroker.inst@3.0.0 /opt/iobroker
└─┬ iobroker.ble@0.13.2
  └─┬ @abandonware/noble@1.9.2-15
    └── @abandonware/bluetooth-hci-socket@0.5.3-10

pi@homeserver:/opt/iobroker $ npm list @abandonware/noble
iobroker.inst@3.0.0 /opt/iobroker
└─┬ iobroker.ble@0.13.2
  └── @abandonware/noble@1.9.2-15

Version 0.13.3 - hohe CPU-Last, keine Updates der Messwerte

pi@homeserver:/opt/iobroker $ npm list @abandonware/bluetooth-hci-socket
iobroker.inst@3.0.0 /opt/iobroker
└─┬ iobroker.ble@0.13.3
  └─┬ @abandonware/noble@1.9.2-19
    └── @abandonware/bluetooth-hci-socket@0.5.3-10

pi@homeserver:/opt/iobroker $ npm list @abandonware/noble
iobroker.inst@3.0.0 /opt/iobroker
└─┬ iobroker.ble@0.13.3
  └── @abandonware/noble@1.9.2-19

@Apollon77
Copy link
Contributor

The last CPU issue was in the hci lib, but here in both cases the newest version is used, so it can not be that ...

So we are now at "what did changed in nobile itself" and that might need debugging support ... sorry

Is CPU jumping directly to the 20% or is it increasing slowly?

In general I would say we need debug log. Stop ble adapter in iobroker, open SSH shell. execute: ´DEBUG=noble,hci,att,gap node /opt/iobroker/node-modules/iobroker.ble/build/main.js --debug --logs`

And ideally once with the working and once non working version ... maybe we see a differnce there

@ammawel
Copy link
Author

ammawel commented Feb 9, 2023

Die CPU-Last springt nicht sofort auf den hohen Wert sondern steigt langsam an.
Hier zwei htop-Ausgaben nach ca. 5 Minuten Laufzeit, Filter auf iobroker.ble:

Version 0.13.2

    0[||                                                       2.6%]   Tasks: 61, 327 thr; 1 running
    1[||||||                                                   7.8%]   Load average: 0.20 0.38 0.63
    2[||||                                                     5.8%]   Uptime: 17 days, 23:56:06
    3[|                                                        0.7%]
  Mem[||||||||||||||||||||||||||||||                    1.80G/7.63G]
  Swp[                                                    0K/100.0M]

    PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command△
 356577 iobroker   20   0  646M 63048 31740 S  2.0  0.8  0:10.57 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 356578 iobroker   20   0  646M 63048 31740 S  0.0  0.8  0:00.00 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 356579 iobroker   20   0  646M 63048 31740 S  0.0  0.8  0:00.25 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 356580 iobroker   20   0  646M 63048 31740 S  0.0  0.8  0:00.24 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 356581 iobroker   20   0  646M 63048 31740 S  0.0  0.8  0:00.25 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 356582 iobroker   20   0  646M 63048 31740 S  0.0  0.8  0:00.46 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 356583 iobroker   20   0  646M 63048 31740 S  0.0  0.8  0:00.00 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 356584 iobroker   20   0  646M 63048 31740 S  0.0  0.8  0:00.00 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 356585 iobroker   20   0  646M 63048 31740 S  0.0  0.8  0:00.00 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 356586 iobroker   20   0  646M 63048 31740 S  0.0  0.8  0:00.00 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 356587 iobroker   20   0  646M 63048 31740 S  0.0  0.8  0:00.00 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 356592 iobroker   20   0  573M 44840 31220 S  1.3  0.6  0:05.49 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/scanProcess -s
 356593 iobroker   20   0  573M 44840 31220 S  0.0  0.6  0:00.00 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/scanProcess -s
 356594 iobroker   20   0  573M 44840 31220 S  0.0  0.6  0:00.06 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/scanProcess -s
 356595 iobroker   20   0  573M 44840 31220 S  0.0  0.6  0:00.06 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/scanProcess -s
 356596 iobroker   20   0  573M 44840 31220 S  0.0  0.6  0:00.11 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/scanProcess -s
 356597 iobroker   20   0  573M 44840 31220 S  0.0  0.6  0:00.06 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/scanProcess -s
 356598 iobroker   20   0  573M 44840 31220 S  0.0  0.6  0:00.00 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/scanProcess -s

Version 0.13.3

    0[||||||                                                   9.1%]   Tasks: 61, 327 thr; 2 running
    1[|||||||||||                                             15.7%]   Load average: 1.00 0.64 0.64
    2[||||||||||                                              14.4%]   Uptime: 18 days, 00:05:08
    3[||||||||||||||                                          20.9%]
  Mem[|||||||||||||||||||||||||||||||                   1.88G/7.63G]
  Swp[                                                    0K/100.0M]

    PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command△
 357046 iobroker   20   0  651M  101M 31880 S 27.5  1.3  0:48.98 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 357047 iobroker   20   0  651M  101M 31880 S  0.0  1.3  0:00.00 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 357048 iobroker   20   0  651M  101M 31880 S  0.0  1.3  0:00.84 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 357049 iobroker   20   0  651M  101M 31880 S  0.7  1.3  0:01.04 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 357050 iobroker   20   0  651M  101M 31880 S  0.0  1.3  0:01.02 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 357051 iobroker   20   0  651M  101M 31880 S  2.0  1.3  0:01.03 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 357052 iobroker   20   0  651M  101M 31880 S  0.0  1.3  0:00.00 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 357053 iobroker   20   0  651M  101M 31880 S  0.0  1.3  0:00.00 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 357054 iobroker   20   0  651M  101M 31880 S  0.0  1.3  0:00.00 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 357055 iobroker   20   0  651M  101M 31880 S  0.0  1.3  0:00.00 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 357056 iobroker   20   0  651M  101M 31880 S  0.0  1.3  0:00.00 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/main.js 0 warn
 357061 iobroker   20   0  605M 78028 31188 R 24.9  1.0  0:45.01 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/scanProcess -s
 357062 iobroker   20   0  605M 78028 31188 S  0.0  1.0  0:00.00 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/scanProcess -s
 357063 iobroker   20   0  605M 78028 31188 S  0.0  1.0  0:00.10 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/scanProcess -s
 357064 iobroker   20   0  605M 78028 31188 S  0.0  1.0  0:00.14 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/scanProcess -s
 357065 iobroker   20   0  605M 78028 31188 S  0.0  1.0  0:00.11 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/scanProcess -s
 357066 iobroker   20   0  605M 78028 31188 S  0.0  1.0  0:00.17 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/scanProcess -s
 357067 iobroker   20   0  605M 78028 31188 S  0.0  1.0  0:00.00 /usr/bin/node /opt/iobroker/node_modules/iobroker.ble/build/scanProcess -s

LOG-Dateien:
Und hier jetzt die zwei LOG-Dateien, UUID-Filter auf 0xFE95 für 3 xiaomi-Thermometer / Hygrometer
Ein Unterschied ist klar erkennbar: in der 13.3-Version wächst die Größe des Feldes serviceData permanent an.
ble_0-13-2.log
ble_0-13-3.log

Vielen Dank für den Einsatz! Beste Grüße, Achim

@AlCalzone
Copy link
Owner

Scan Process ist ein separater Prozess der noble ausführt, also ist noch irgendwas in der library faul.

@ammawel
Copy link
Author

ammawel commented Feb 9, 2023

... und das stetig wachsende Feld serviceData? Muss der Inhalt immer mehr werden?

@AlCalzone
Copy link
Owner

Das könnte Teil des Problems sein.

@Apollon77
Copy link
Contributor

Ok, dann muss ich (oder jemand(tm)) mal in einer ruhigen Moinute die nobiel versions changes durchgehen. Bitte legt uin jedem Fall ein Issue bei https://github.com/abandonware/noble an

@Apollon77
Copy link
Contributor

New noble version prepared ... needs to be releaed now ... abandonware/noble#298

@AlCalzone
Copy link
Owner

@ammawel kannst du 0.13.4 versuchen?

@ammawel
Copy link
Author

ammawel commented Jul 6, 2023

@AlCalzone
sieht bis jetzt prima aus:

  • CPU-Last wie bei 0.13.2 stabil zwischen 0,7% und 1,3% für den scan-Prozess
  • Speicherbedarf bisher stabil, nicht ansteigend
  • Werte werden aktualisiert

Ich werde das über Nacht laufen lassen und morgen sehen, ob sich etwas geändert hat.

Vielen Dank für Deine Arbeit und Deine Mühen!

VG, Achim

@ammawel
Copy link
Author

ammawel commented Jul 7, 2023

@AlCalzone
das sieht auch heute Morgen noch alles gut aus!
VG, Achim

@Apollon77
Copy link
Contributor

@AlCalzone was only "using latest nible version", right? Then cool and good to know

@AlCalzone
Copy link
Owner

Yep I only updated noble

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants