bemasher / rtlamr

An rtl-sdr receiver for Itron ERT compatible smart meters operating in the 900MHz ISM band.
GNU Affero General Public License v3.0
2.19k stars 249 forks source link

High CPU Intel Xeon #210

Closed utdrmac closed 2 years ago

utdrmac commented 2 years ago

This is a somewhat re-open of #187 I've got an Intel Xeon E3-1230 server with rtlamr running inside a docker container. I also have prometheus/grafana container, openHAB container, and a bunch of other stuff. rtlamr is typically the highest CPU user in my system. Is there some config setting that I can change to optimize it? rtlamr is working perfectly, gathering my gas and water meter reading. if I know the specifics, can I "fine tune" rtlamr to be less CPU-hog? I don't really need down-to-the-minute readings on these utilities; could I make rtlamr poll less frequently?

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
11182 root      20   0 1279572   7076   1328 S  12.5  0.0   1043:16 rtlamr
bemasher commented 2 years ago

That sounds like typical cpu usage for rtlamr. If you're ok with missing messages, you can reduce the symbol length, which effectively reduces the received bandwidth.

Take a look at: https://github.com/bemasher/rtlamr/wiki/Symbol-Length

Others have setup cron or systemd timers to run rtlamr on a schedule with the -single flag.