11 ms·
I'm an avid, avid, avid Firefox user, but I switched to Vivaldi last month after doing a comparison of RAM load with the same exact open tabs and seeing a diffe
by globalproctd 7y ago
I'm an avid, avid, avid Firefox user, but I switched to Vivaldi last month after doing a comparison of RAM load with the same exact open tabs and seeing a difference of:
Firefox sitting at 12 gigs
Vivaldi sitting at 5 gigs
This is on MacOS, so mileage may vary and all that, but with the same tabs open, why would there be such a difference?
Edit: And there's no difference in the plugins. I use the same plugins on both browsers: password manager, uBlock Origin, React dev tools, and Redux dev tools and that's it.
- vsareto 7y agoI wish I knew but something has always bothered me about people jumping browsers due to open tab usage for tab counts above 20. Is that really the only feature people care about?
- hombre_fatal 7y agoIt's one of the biggest practical differences between browsers that can completely cripple the experience. Why wouldn't it matter?
- SkyMarshal 7y agoWhen it completely bogs down the browser so that opening a new window stakes 5s and other normal actions are extremely laggy, no other features matter. This can happen even on my 64GB workstation when Firefox hasn’t consumed all the available memory yet. Performance is a feature. (That said I continue to use Firefox exclusively b/c 1) Firefox is really good now, 2) best addon/extension support, 3) Google’s leadership is Evil now, and 4) I don’t want a rendering engine monoculture).
- webmobdev 7y agoThat's understandable. But what exactly is the thought process in having so many tabs (10+) open in the first place?
- newscracker 7y agoHaving multiple tabs (or "too many tabs") is a neat and very visible way to keep track of what's to be read and processed. It does result in keeping things for far too long sometimes, but there is no better interface that surfaces all the different sites/URLs to be processed. It's very useful when you're troubleshooting or researching something (could be some tech stuff in general, some software development/debugging stuff or anything else you're researching).
- webmobdev 7y agoOk, using browser tabs as "bookmarks". I used to do something similar too with Opera (the original one with Presto engine) but with their "Speed Dial" feature. I miss Presto Opera - it was light-weight, fast and wasn't bogged down by even with 100's of open tabs and had fantastic browser features that nearly all their competitors copied.
- newscracker 7y agoIt's actually way better than bookmarks because it stores the content in a quickly accessible way (unless the tab has been unloaded manually or through another extension), and it also stores history (you can go back and forward in each of those tabs). Bookmarks and "Speed Dial" (which is available on Firefox) do not support tab history. I do not know how Opera's Speed Dial worked though.
- webmobdev 7y ago> It's actually way better than bookmarks because it stores the content in a quickly accessible way I am skeptical about this part. If you tag your bookmark's, it then becomes easy to look it up right from the address bar by just typing a tag name. That is actually much easier and faster than searching through 100's or 1000's of tabs. > ... and it also stores history That's a very good point that I hadn't considered.
- SkyMarshal 7y ago
- aliceryhl 7y agoIt's weird, I keep seeing people complain about the memory usage and it being slow, but I've literally never experienced any of these kinds of issues, and I have 80 tabs open right now. Are you using some weird plugin or what?
- eitland 7y agoIt is dependent on machine, OS and what plugins are installed. I'm fairly certain I used to have hundreds of tabs open back in the old Firefox with even less lag than I see today.
- pbhjpbhj 7y agoI'm pretty sure it depends a lot on profile cruft too.
- SkyMarshal 7y agoI do have a bunch of plugins installed, is there any way to profile them and see if any of them are the culprit? (Ubuntu 18.04)
- vsareto 7y agoIf people are so concerned about tab performance, why not use the history pane?
- mqus 7y agoI'm using firefox and am currently at over ~20 Tabs (TreestyleTab makes this easy ;), usually I have more) with ~600MB mem usage on a 8GB machine. I care about the feature but i don't see any reason to switch away from Firefox for it...
- webmobdev 7y agoWhat exactly is the thought process behind having so many tabs open? For example, I close tabs when I am done with a site and / or when I can't read the site title on the tabs any more.
- dx87 7y agoMy wife leaves all of her tabs open, but it's not for any specific reason. If she opens a new tab and goes to a website, the browser will just switch to the tab that's already on that website instead of fetching the website again.
- CathedralBorrow 7y ago> For example, I close tabs when I am done with a site I also do this, but my definition of done is very flexible and blurry.
- globalproctd 7y agoOP here on this comment chain. I'm a front end and back end developer that uses multiple libraries and tech stacks and need to find answers to stuff immediately. I leave them open as a resource while I'm working, which may be on multiple things at once. In addition, I have mail, messaging, music, and other work-related things open in the browser. It's really one of the only features that matters.
- dmitryminkovsky 7y agoI considered other browsers too (Vivaldi, Brave), but they all seem to be Blink/V8. It seems like Firefox is the only other extant, viable platform for running the web. Personally, I'm not one to frequently compromise quality/convenience for some ideal, but the idea that we'll have a future with only one way to render the web is terrifying.
- dmarcos 7y agoCan you articulate why do you think a single engine is terrifying? KHTML is the precursor of WebKit that was used by Chrome and Safari for a while. It didn’t prevent Apple and Google to drive their products. Google eventually fork Blink out of WebKit. Other browser vendors follow a similar path (Brave, Opera, Oculus Browser, Samsung Internet, Supermedium...) Start with Blink and modify as they see fit and eventually fork if needed. I consider a single good reusable engine a level playing field for new browsers akin to the Linux Kernel for OSs. Engines are commoditized and differentiation comes from browser features.
- blattimwind 7y ago> Can you articulate why do you think a single engine is terrifying? MSHTML.DLL
- dmitryminkovsky 7y agoThanks for asking. I was wondering if I could. I'll try: > Start with Blink and modify as they see fit and eventually fork if needed One of the foundational ideas behind the web is that you have a set of open standards that specify the web, and then people can go ahead and implement those standards and provide some unique set of features on top of those standards. For example: privacy. I believe that Google and other big-tech actors are working to make the scope of these standards so vast and so fast-moving that it becomes impossible for a small or mid-range operation to implement and maintain a web browser. I mean, who was able to successfully fork and maintain a fork of KHTML/Webkit? Google! No small organization is capable of this. These are massive, complicated codebases that must keep up with evolving standards. Therefore, even though you theoretically have "open standards," we're seeing a future with possibly a single implementation of those standards. And if you only have one implementation, then the whole foundation doesn't hold, i.e. you can't make a privacy-oriented browser because you can't make a browser in the first place. What if some day Google decides to stop contributing to Blink, to fork Blink and only update it closed source, against a set of fast-moving standards that they de-facto control? Or what if, at that point, with total domination, they stop following open standards entirely. I think that would be the end of the web.
- dharmab 7y agoModern operating systems will grant large amounts of RAM to web browsers in general to improve caching. That RAM is easily relinquished back to the OS if another app needs it. Was the 12GB with another RAM-intensive app running? Or just Firefox by itself.
- 0xdead 7y agoThat's not true. Operating systems don't know if a process is a browser.
- basch 7y agoOS > Hey I need RAM Browser > OK we can purge these tabs first is how it should work. If the first step doesnt happen, its not clear if the second one should execute by itself. Id be much more concerned about background CPU usage. Eats battery, and actually slows the computer down. That all said, its pretty clear that browsers are leaking RAM sometimes. I remember bed bath and beyond using 9 or 12GB of ram the other month.
- blattimwind 7y ago> is how it should work. That's not how it works. Browser might monitor free system memory actively and release memory if the system runs low, but at least Firefox doesn't do that. There is no mechanism (in Windows, Linux) that allows the OS to notify applications of memory pressure or that allows the application to tell the OS that some allocations can be thrown out if need be. (Windows has a mechanism - MEM_RESET - that only works with paged out allocations) Edit: Windows 10 (8?) actually expands on MEM_RESET with Offer/ReclaimVirtualMemory, but I kinda doubt browsers use this, because these have similar semantics to MEM_RESET (except they seem to work without paging, which is good). For an application that wants to cache not-well-defined amounts of data itself these might be very useful though, because you can make the data structure simple enough that it works with these.
- zozbot234 7y ago
- Kuinox 7y agoGoogle polyfill badly done JS because firefox doesn't implement some "advanced" features that google tought but is not(or will never be) in the standard. It result in more usage of CPU and RAM. I noticed that Facebook have a memory leak on firefox for exemple (12Go, then 3Go after closing facebook).
- Shivetya 7y agomy only issue with Firefox on Mac is that streaming video from twitch will just randomly stall but this did not occur with Safari. The oddest part is that is stalls randomly when clicking back to the tab with the stream. Even with multiple streams its wholly random if one will stall the video portion or not; the audio continues and chat bar works too. memory wise it will consume quite a bit when managing streaming content and even leave the code in memory when all related tabs are gone; I assume this happens because of the dearth of video content on many web pages
- globalproctd 7y agoI was having the exact same issues on Twitch allll the time on FF on Mac. I haven't since switching to Vivaldi, probably have frozen two or 3 times since.
- webmobdev 7y agoI would shift to Vivaldi too, if they gave up their dependence on Google.
- dmos62 7y ago12 gigs? Currently I have ~12 tabs open and it's using ~500mb of my RAM, according to top. What caused your Firefox to eat up 12 gb?
- Ygg2 7y agoI've noticed using some extensions (like Grammarly doubles or triples the amount of RAM used).
- michaelmrose 7y agoIf you have a recent firefox you may be incorrect about your ram usage as firefox is no longer a single process. Here is how it looks on my system. firefox-bin─┬─GPU Process───35*[{GPU Process}] ├─Privileged Cont───27*[{Privileged Cont}] ├─RDD Process───5*[{RDD Process}] ├─Socket Process───5*[{Socket Process}] ├─Web Content───28*[{Web Content}] ├─2*[Web Content───27*[{Web Content}]] ├─Web Content───33*[{Web Content}] ├─Web Content───22*[{Web Content}] ├─Web Content───30*[{Web Content}] ├─Web Content───32*[{Web Content}] ├─WebExtensions───27*[{WebExtensions}] ├─firefox-bin └─97*[{firefox-bin}] Here is a bit of bash to turn a number of bytes into a human readable label shamelessly stolen from somewhere saved as human #!/bin/bash b=${1:-0}; d=''; s=0; S=(Bytes {K,M,G,T,P,E,Z,Y}iB) while ((b > 1024)); do d="$(printf ".%02d" $((b % 1024 * 100 / 1024)))" b=$((b / 1024)) let s++ done echo "$b$d ${S[$s]}" Here is the best formulation of finding the memory usage of foo where foo can be a regular expression echo 1024\*(pgrep foo| xargs pmap -x|grep total|awk '{print $5}'| paste -sd+ -)|bc|xargs human In fish the meminfo function with custom functions not herein included function meminfo pgrep $argv| each pmap -x|g total|nth 5|sumof|multiplyby 1024|each human end Most of firefox's mememory is in firefox, Web Content, and WebExtensions meminfo firefox returns only 250MB right now but meminfo 'firefox|Web' returns 1.5GB If you are looking at just firefox you are definitely not getting the whole picture.
- dmos62 7y agoI got an unexpected result: For context pgrep --full /usr/lib/firefox/firefox | wc -l returns 10, while pgrep 'firefox|Web' | wc -l returns 9. Your posted command formatted and a missing $ added (I'm using bash): echo 1024\*\ $(\ pgrep --full /usr/lib/firefox/firefox \ | xargs pmap -x \ | grep total \ | awk '{print $5}'\ | paste -sd+ - \ )\ | bc \ | xargs ./human returned 220.63 MiB. Here's my htop excerpt: 3532M 286M 97512 S 0.0 9.6 9:20.59 │ └─ /usr/lib/firefox/firefox 2325M 74708 56596 S 0.0 2.4 0:00.42 │ ├─ /usr/lib/firefox/firefox -contentproc -childID 41 2509M 121M 85300 S 0.0 4.1 0:15.84 │ ├─ /usr/lib/firefox/firefox -contentproc -childID 40 2489M 173M 103M S 0.0 5.8 0:18.64 │ ├─ /usr/lib/firefox/firefox -contentproc -childID 39 2389M 74172 57060 S 0.0 2.4 0:13.49 │ ├─ /usr/lib/firefox/firefox -contentproc -childID 23 2540M 112M 89996 S 0.0 3.8 0:50.95 │ ├─ /usr/lib/firefox/firefox -contentproc -childID 22 2513M 72396 58300 S 0.0 2.4 0:14.88 │ ├─ /usr/lib/firefox/firefox -contentproc -childID 17 2413M 46488 34892 S 0.0 1.5 0:18.37 │ ├─ /usr/lib/firefox/firefox -contentproc -childID 16 250M 2132 1916 S 0.0 0.1 0:00.13 │ ├─ /usr/lib/firefox/firefox -contentproc -parentBuil 26.4G 85844 35008 S 0.0 2.8 0:57.39 │ └─ /usr/lib/firefox/firefox -contentproc -childID 3 Not sure what to make of it.
- BenjiWiebe 7y agoHow many tabs? I've used Firefox for years on 8 or less total gigabytes of RAM, and I've hit 40 tabs occasionally and regularly 20, and never ran out of RAM because of Firefox.
- enobrev 7y agoI've had my whole system lock up for minutes with 10 tabs open on Firefox as recently as last week. I still use it as my primary, but that does happen on occasion. On chrome I've had 60+ tabs open for weeks without my system taking a dive. This is on an ubuntu 19.10 system with 32gb of ram.
- detaro 7y agoThis seems extremely weird, never seen anything like that (I tend to have >100 tabs open). But of course "it doesn't happen for others" doesn't help you if somehow on your machine it does.
- enobrev 7y agoIt's definitely strange. And I do at times have 50+ tabs open on Firefox, so I'm not saying it's a constant issue, but I do see it overload my system from time to time. When it does, I close a few tabs, restart firefox, and go on my merry way.
- tlamponi 7y agoJust restarted for the new release, but I currently got 3 windows with a total of 73 tabs (no shame please ^^) and just focused each of them to ensure they are loaded due to the restart. Waited a bit and now have: * Resident Set Size: ~ 500 MB * Virtual memory: ~ 3300 MB Not much, IMO, especially as virt. memory doesn't tells one much.
- rezeroed 7y ago2697 here. I should probably use the 'x' on occasion.
- nothis 7y agoFrankly I don’t get what the complaints about RAM usage are all about. With video, high res images, megabytes of javascript and 30 tabs open, modern browsing simply takes a lot of resources. I rather have the browser use a lot of cache than having to reload shit constantly.
- globalproctd 7y ago> Frankly I don’t get what the complaints about RAM usage are all about. Sure, let me just go download some more RAM. It's not like it's a finite resource in my machine or anything.
- agumonkey 7y agoI'm surprised you're having issues with RAM. I had 1050 opened tabs in firefox nightly and my x201 (1st gen i5) has only 8GB and only 50% of it was used on average by ffx.
- mtrower 7y agoI'm not sure tab count is really a viable metric here. You'd think there'd be a strong correlation, but... On one Windows PC, I keep 2-3 tabs constantly open (may as well pin them tbh), and open/close others as needed. Average tab footprint is probably 3-8 tabs. Average RAM footprint is 1700MB. I have different tab footprints on different machines, of all sorts of different hardware and OS combinations; let's say the general tab footprint is 5-30 tabs, and general memory footprint is 800MB-3GB. On the other hand, one user here reported a few thousand tabs at ~500MB RSS. Obviously factors like assets and JavaScript affect RAM consumption, but a lot of these heavy tab users have to be running a good number of web apps. There must be something else at play.
- magicalhippo 7y agoDepends on the tabs. I can get the Slack tab to eat over 6GB of memory if I just let it sit there without periodically reloading the tab... auto-reload extensions FTW.
- agumonkey 7y agoSure some web apps will naturally consume immense amout of ram. My tabs were not heavy apps, but diverse usual web pages github, hn, reddit, youtube, pubmed, wikipedia, pdfs etc
- magicalhippo 7y agoIn this case it's a relatively simple live leak.
- mccr8 7y agoIn Firefox, if you go to about:memory and click on "Measure", you can get some kind of breakdown of where the memory is being used. I don't know how useful it will be to understand why it is using more memory, but it can be interesting.
- whalesalad 7y agoI haven't been able to find a faster or more efficient browser on macOS than Safari. It's my daily driver.
- fralewsmi 7y agoBig time, I use Firefox for dev work because the Safari tools kinda suck, but for everything else its amazing
- whalesalad 7y agoTrue, FFX has the best web inspector tools by far.
- b3n 7y agoWouldn't you prefer your browser use more RAM? I'd much rather it cache as much as possible than have unused RAM sitting idle. Hell, I even stick my `~/.cache/` in RAM.