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

Browser memory consumption approaches 1GB physical #50

Closed
ethandicks opened this issue Mar 14, 2021 · 7 comments
Closed

Browser memory consumption approaches 1GB physical #50

ethandicks opened this issue Mar 14, 2021 · 7 comments
Labels

Comments

@ethandicks
Copy link

I am trying to use the Chromium Browser on Raspbian on a Raspberry Pi 3 to display a WeatherStar 4000+ screen 24/7 but after less than an hour, it soaks up so much resident RAM that it crushes the machine (swap is full, load goes over 12...) The typical RAM footprint for the browser process is 600MB-800MB resident (well over 1GB virtual).

Every time it freezes the Pi, it happens to be displaying the weather radar screen. I am not certain if it's something on that screen or something it's preparing for the next screen, but it's at least a consistent behavior.

It runs fine on a laptop with 8GB or more.

@vbguyny
Copy link
Owner

vbguyny commented Mar 15, 2021

Hello @ethandicks I don't have a Raspberry Pi 3 to test with so I need to ask you some questions.
Do you notice the increase in memory happening with the "Auto Refresh" option disabled? Also, does the issue happen if you mute the music?
My guess that this memory leak is related to something in the core rendering engine that isn't being released.

@vbguyny vbguyny added the bug label Mar 15, 2021
@vbguyny
Copy link
Owner

vbguyny commented Mar 15, 2021

BTW, I did some testing on Chrome in Windows 10 Pro and I saw roughly between 100-140 MB of RAM used. I didn't see it get it any higher. I did a quick Google search it a few people have reported memory issues in Chromium: https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/1751137

@vbguyny
Copy link
Owner

vbguyny commented Mar 21, 2021

@ethandicks Did you happen check to see if you are able to run the site in Firefox without any issues?

@ethandicks
Copy link
Author

To answer all at once:

I have tried it with and without music muted. I observed no difference in memory behavior. I have not tried it without Auto Refresh enabled. I can add that to the testing regime.

The Chromium issues you mentioned seemed to have been reported when other software elements were also involved, AdBlocker, and a Gnome Panel Extension (which I do not have - this is a base Raspbian Install - no browser extensions).

I did try with Firefox on the RPi3. It also consumed large amounts of memory, and in addition, the scrolling of the Travel Forecast was quite stuttery. I did not continue testing.

I haven't done it yet, but I did start to look into engaging a memory profiler. It won't take long to run. I went from startup to lock-up from 2 to 4 hours on numerous occasions.

For as long as it has enough RAM, it runs just fine on a 1GB RPi3. It might even run just fine on a $10 Pi Zero W, but I'm leaving that test for later. In the meantime, I pulled out a Pi400 (essentially a Pi4 w/4GB RAM in a keyboard form-factor). It won't run out of RAM as quickly.

@vbguyny
Copy link
Owner

vbguyny commented Mar 24, 2021

@ethandicks thanks for the details!

I have not been able to find anything that would indicate why my site would consume large amounts of memory. The fact that the issue doesn't happen in Windows leads me to believe that this is an issue with the Linux implementation of the Chromium browser.

I would suggest that you opened a bug report (https://bugs.chromium.org/p/chromium/issues/entry) with the details you provided here.

Let me know what they say!

@brutkows-github
Copy link

I've been trying to do the same thing. I have a Raspberry Pi 3 A+ and a WM8960 hat with a speaker I've been setting up for use as a weather display. In stock configuration, WeatherStar 4000+ crushes it completely. I've been able to get it usable with the following performance tweaks:

  1. Enabling zram-swap:
    https://github.com/foundObjects/zram-swap
    I have found that _zram_fraction="2/3" is usable.

  2. Firefox instead of Chromium. I notice a slight performance increase. Chromium still worked, Firefox seems better.

After doing that, the system is definitely slow and fully utilized, but performance is acceptable and is even able to play that glorious audio.
image

The only thing I haven't figured out how to do is launch WeatherStar 4000+ at startup in fullscreen. It seems like I will need to send some sort of mouse event to trigger a click of the fullscreen button.

I tried this setup with every web browser I could find. Firefox was subjectively best for me.

@vbguyny
Copy link
Owner

vbguyny commented Apr 8, 2021

@brutkows-github thanks for the information!

As far as getting the site to start in fullscreen by default doesn't work in web pages because it requires user interaction: https://www.codeproject.com/Questions/367556/Full-Screen-on-Page-Load

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

No branches or pull requests

3 participants