Announcement

Collapse
No announcement yet.

Mode Mixer2 run out of memory

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mode Mixer2 run out of memory

    I'm running ModeMixer 2 on RPi 4 with ubuntu server 64bit. Periodically happens this: https://pastebin.com/tHNDM80e. Do you have any idea what is going on? When it happens the Rpi is not reachable even with ping or SSH and the only solution I found is unplug the power and restart.

    I asked for support here: https://unix.stackexchange.com/quest...1177342_626944, but they can't help me specifically with MM2.

    I've attached the screenshot of htop: as you can see mm2 is taking all the memory. Why is happening?
    Attached Files

  • #2
    Programming error, if you can get a newer version of the program try that.

    Otherwise try a different program that can fill the same role.
    In case you just need to collect a bunch of beast data and send that somewhere ... you could use my fork of readsb: https://github.com/wiedehopf/adsb-wi...-1921682730004
    tar1090 is the webinterface that i maintain to work with it.
    It won't be able to tell you which receiver what data is from if that's what you're looking for.

    Comment


    • #3
      What I'm doing right now is:
      * dump1090-mutability is using the dongle
      * ModeSMixer2 is reading the data from dump1090-mutability and sending it to dump1090-fa and fr24feed
      * nginix is searving the json files of dump1090-fa for http traffic

      Note that dump1090-mutability is running on a different raspberry from all the otheres programs. If I can substitute mm2 with your fork I would be happy, especially if it is lighter that Modesmixer.

      Comment


      • #4
        I'd actually suggest you replace dump1090-mutability with readsb as well.

        This is an automatic install script for readsb that works on Raspbian / Debian / Ubuntu:
        https://github.com/wiedehopf/adsb-sc...ion-for-readsb

        See this how to make it get data via network: https://github.com/wiedehopf/adsb-sc...-a-data-source

        You then don't need dump1090-fa any more (actually the install script will remove it).
        Then just use /tar1090 as the newly installed webinterface.

        The tar1090 install (it's installed with the readsb if you use the script) will show you an nginx configuration file you can include in your nginx config.

        And yes readsb should not have any memory leaks (my fork is used quite extensively and it handles 9000 aircraft with ease ... actually that's what my fork is for)

        Comment


        • #5
          I need dump1090-fa, I can't remove it. I have a custom web interface hosted on my university webspace based on a personal fork of dump1090-fa, so without dump1090-fa it won't work.
          If the install script will remove dump1090-fa I can't use it
          I'm using mutability because it was easy to configure, and the gain setting was explicit in a file. I'd prefer that the RPi that now it's running mutability would not have any web interface or doing anything else except sending the data to the other Raspberry (it's only 512 MB RAM, so it's easy to overload it).
          I think that what I need is a software that does exactly what MM2 is doing now. How can I install readsb without using your script and removing all the other installation?

          Back to the original question: doing some monitoring I noticed that the memory used by MM2 slowly increase until it takes all the RAM available. I've set a crontab to restart the service every 4 hours, and this solved the problem, but I'm still looking for a complete solution since it's not a good idea to have a buggy program running

          Comment


          • #6
            https://github.com/wiedehopf/adsb-wi...sb-from-source

            You'll need 2 --net-connector then, one beast_in and another beast_out ... it's not that complicated.

            Or install readsb on the pi and just add one beast_out connector to directly send the data to dump1090-fa on the other box.
            On the pi you could even use the install script and then just disable the tar1090 service ... don't worry it's light enough for 512 MB of memory.

            If you wanted to get crazy you could also your the custom webinterface with the json written by readsb but that would require some modification of where the webserver points the /dump1090-fa/data folder .....
            Anyhow i'll let you figure it out there are plenty of solutions.

            Comment


            • #7
              Thanks! readsb is working properly now, doing what I want!

              The only problem is that all MLAT aircraft are showed in category "Others" and not in "MLAT" ones (to be honest also mm2 had this problem). My question is, how do I correctly configure MLAT? Does it goes through BEAST data stream to or do i need something different?

              Is the MLAT data stream correlated to the fact that sometimes 2 ports are configured (ie in mutability:
              Code:
              BEAST_OUTPUT_PORT="30005,30105"
              )? If not, why sometimes 2 ports are configured?

              Comment


              • #8
                FR24 does not share MLAT results with the feeders, adsbexchange and FA do.
                Their mlat-clients would automatically feed into port 30004.
                But this wouldn't be forwarded so i'd recommend installing the feed clients on the same box you need the data.
                Or you can check the mlat client commandline (pgrep -af mlat) and set readsb to --forward-mlat and connect to those ports to get the data.

                Comment

                Working...
                X