Mictronics / readsb-protobuf

Readsb is a Mode-S/ADSB/TIS decoder for RTLSDR, BladeRF, Modes-Beast and GNS5894 devices. Future development version with protocol buffer storage.
Other
86 stars 24 forks source link

High CPU usage on RPi4 #14

Closed klara31 closed 3 years ago

klara31 commented 3 years ago

I have also reported this under https://github.com/mikenye/docker-readsb-protobuf/issues/17.

I am using readsb-protobuf on a Raspberry Pi 4 (4Gb), using the docker container mikenye/readsb-protobuf:latest. Readsb is continuously using up one CPU core completely. As far as I recall, this only happened since a couple of days, performance statistics also show an increase.

Is this normal behavior and if not: do you have a clue what's causing this?

mikenye commented 3 years ago

@Mictronics happy to work with you on this one - just let me know what I can do to help.

BugDeliverer commented 3 years ago

I have the same problem on my Raspberry Pi 3 running Arch Linux Arm...

Mictronics commented 3 years ago

I have no glue about Docker and that stuff so can't tell how things work inside a container. But we never had any reports of such issues for installations outside containers, meaning readsb running on a host OS. I doubt you run a GNS Hulc antenna with readsb. There was a bug fix that caused a high CPU usage due to fragmented messages.

What is your overall hardware setup?

BugDeliverer commented 3 years ago

Unfortunately I'm also not a docker expert, but as far as I know that shouldn't make any difference. My hardware setup pritty simple:

As already mentioned running Arch Linux Arm (32bit) with all updates applied, means among others

Update: Played around a little bit. In his example-configuration mikenye sets READSB_DCFILTER=true. He mentions that it is a 1Hz DC filter and that it uses more cpu. After deactivation cpu usage drops to approximately 30% (SDR Reader was 30% now is 7%); Demodulator increases from 15-20% to 25%). What are usual values on a Raspberry Pi 3B+, with and without DCFILTER and what is it good for?

Mictronics commented 3 years ago

DCFILTER is for removing a DC offset in IQ data caused by the SDR internal AD converter. Not sure if that option is ever used.

I close this issue since the primary one in https://github.com/mikenye/docker-readsb-protobuf/issues/17 is closed too.