I must use my browsers differently from others. I have Chrome and Firefox open on my main work machine here (Ubuntu 14) all day/night. Never have a problem with memory or anything else on either. When I travel I've had both Windows and OSX (two different Macbooks) and Also use Firefox and Chrome, also, never issues with memory. I currently have 12 open tabs in Chrome and 6 in firefox, just random websites, mail, youtube, github... no troubles.
I see people complaining of memory issues in browsers all the time though, what causes these issues, and how is it I never see them?
Do you use an Adblocker? Those make a massive difference. I have uBlock with quite strict settings, and normally I can keep 100+ tabs open without issues. But a single misbehaving site can disrupt that (heck, a long-running tab can load hundreds of MB of ads if nothing stops it), and occasionally parts of the browser just hang. Turn off uBlock and everything goes the hell immediately.
Browsing the web without an adblocker is kind of like driving a car without wearing a seat belt or riding a bicycle without wearing a helmet. At least it feels like that to me.
Well, I am not going to force anyone to wear a helmet.
I think it is a good idea to do so, and I personally do when riding a bicycle, but I have to admit I only started doing so after two people I know had pretty bad biking accidents resulting in injuries that most likely would have been prevented by a helmet.
But I still like the analogy in the sense that lots of people are riding bicycles without helmets, and lots of people are browsing the web without adblockers. In both cases, my personal opinion is that this is not a good idea, but I won't try to force my personal opinion on others.
Kids need to be told what to do sometimes until 18 because they're not mature enough to make the decision. Telling them to not get in a car with a stranger and wearing a helmet are good examples. The parent comment was talking about his household.
> The parent comment was talking about his household.
No, I really was talking about HN :). When an article about bike helmets pops up it usually leads to civil but heated debate (and yes, I got burned once). Inside joke, nothing sanctimonious ;).
FWIW, I was very much in favor of making bike helmets mandatory until I read an article strongly argued against mandatory helmets until the last paragraph and then said something like "Don't get me wrong, I personally would not get on a bike without a helmet, but it's kind of like heroine - even if the law was in favor of it, it still would be a bad idea."
So here I am - I think wearing a helmet while riding a bicycle is just common sense, but I am a rather easygoing person who would dislike forcing my way doing things on my fellow human beings just as much as they would.
Interestingly, I heard there was a study that roughly said if helmet were mandatory for cyclists, the decrease in cycling would cause an upsurge in cardiovascular issues that would completely eat up any advantages in reduced brain injuries. Again, I am like WTF, wear a ____ing helmet, dude/gal, but the anarchist in me is strong enough to prevent me from forcing my will down others throats. Which is good for everyone, I suppose. ;-) At least it keeps my stress level in check.
FWIW, if I had kids, there is no way in hell they would be getting on a bicycle witout a helmet. But most people don't answer to me, and when I think about that long enough, I am fine with it. The responsiblity would be too much to wear. ;-)
I did a fresh linux install a few months ago. Installed Firefox, no addons, went to the New York Times. My underpowered laptop screamed while it waited for the page and all its beautiful javascript to load, and then whined annoyingly, opened another page somewhere else, more screaming and whining; the browser was essentially unusable.
Closed the pages, installed uBlockOrigin, and I had my browser back.
Sorry NYT, but if you ever want me to see an ad again (I'm not opposed to them), you're going to have to do something about your pages, and you're going to have to police your ad networks for my privacy and protection. (But, I suppose it's specifically my privacy that you're selling, so I guess the wait will be long.)
I think a good approach would be to have web browsers limit the amount of memory ads can use on a given page.
This would hopefully align incentives: we understand that ads are necessary for the web, but ad makers have to work on efficiency to increase revenue. This would theoretically be like "AMP for ads". If you use too much memory, your ads drop because you keep crashing on the page (just the ad of course).
If you wanted to be perverse, you could have a limit on TOTAL memory all ads could use on a page, so you end up creating group pressure on any individual that's not playing nice (they might start demanding not to be served on the same page as those ads etc). But maybe this is too much. Just limiting the total amount of "memory usage" is a good start.
The important thing here is that it hopefully leads to the world we actually want: REASONABLE ads that don't require crazy measures that end up hurting the sites we love. Browsers COULD ship this by default without hurting the ecosystem.
Mozilla is looking to use Firefox's Tracking Protection list to lower the priority of ads' HTTP requests and more aggressively throttle them when they are not visible. But setting a fixed ad budget per page, as you suggest, or maybe forcing all ads from all tabs to share one process could be interesting.
have web browsers limit the amount of memory ads can use on a given page
That's easily done by installing an adblocker! Can't beat memory limit = 0.
we understand that ads are necessary for the web
Well, hold on now. The web existed before ads did, and it was pretty cool. If ads disappeared, we'd still have a web - lots of its most annoying parts would disappear, and we'd have a lot of readjusting to do, but what we'd end up with would keep all the best parts of what we have now, because the best parts of the web aren't based on ads.
And I would be happy to write it if I felt confident about some method of measuring memory use. I could use something like Process Explorer, but a dedicated utility would be handy, if you can think of one.
I should have offered to help if there is anything you can think of to look into.
For this, honestly I'd start with something simple. So, right off, no. A script that just periodically dumps whatever ps or friends could give would be a start. If you have a suggestion on what you'll try, I can run a similar experiment on some of my computers. Warning, I don't really have easy access to MS products. :(
I had firefox use 22gb of ram (mostly swap, as I don't really have 22gb of physical ram) a few days ago (had an image of it but unfortunately my host is currently down). I had around 50 tabs open but one specific memory leaking one was the offender.
Browsers should really add checks for memory leaking pages.
There is a dedicated team at Mozilla currently who only work on identifying memory leaks and usage. There's a mailing list too if you want to help or check in with the discussions.
I use priority inbox, so 100-150 emails a page. I keep a gmail always open, but even opening a new tab with gmail gets up to 750MB within a few seconds. I have a lot of extensions (40-50), latest ubuntu and chrome 56.
I turn email grouping off so 50 emails per page is just that. However, with email grouping and a 100 emails per page I could see it ballooning to 1GB depending on the content.
I just tried Edge and with 50 emails per page I'm seeing 398MB used by that process. Setting it to 100 emails increases it to 405MB.
Does Thunderbird mmap it's mail archive or something? Because 1.5 GB sounds insane. Apple's Mail.app is only using 130 MB for a 1.8 GB mailbox. Might be an unfair comparison if Mail.app is leaning on the system for indexing/search (then again mds+mds_stores is using around 200 MB)
yea I was going to say, I know for a fact that I've never seen Gmail go above 500 Mb and I check multiple workstations throughout the day. Ours usually is around 2-300 mb most of the time. If it is 1GB...maybe there are some Gmail / Chrome extensions etc?
In contrast, I still end up using a dedicated client for such things whether on the phone or on the desktop. That still responds better than trying to handle such through the browser. Sylpheed works wonderful on the desktop and K-9 Mail on the phone.
Of course, then again, I technically have multiple presences from Google's perspective as I'm technically a student at the moment too. The school's e-mail is handled by Google Apps. Handling that all through a client is easier than trying to flip between browser pages that I can't keep straight.
> I still end up using a dedicated client for such things whether on the phone or on the desktop.
Yes. That also lets you use multiple mailboxes with no extra overhead.
Another option is to keep a separate browser for Google sites, and close it after scanning Gmail. That also helps you limit email to three or maybe four sessions per day, which means you can do real work without the mostly pointless interruptions.
How much memory is on your machine? I can have 50 tabs open without a problem on my MacBook Pro with an i5 and 16GB of RAM, but on older hardware I can't have more than a handful of tabs without starting to run out of resources.
With Firefox, I got to over 600 tabs on my 2011 Dell desktop (Core i5-2500) with 4GB of RAM. Because of "lazy loading", I'd guess that only about 40 or 50 were actually loaded.
RAM use varies from about 1GB to 2.5GB. It slows down above that, which you can only solve by restarting the browser.
I bought another 8GB so I reckon my 2011 machine will be good for another few years. It should last a decade, really.
Given that you can only read from one tab at a time, why not have 103 (or more) bookmarks but only, say, 1 to 5 tabs open. What's the workflow? It seems obvious to me that if each page is a few megs in size and might have CPU taxing JavaScript etc that it's going to tie up a bunch of resources. Why not just open them when you need them?
5) Unread 'queue' (everything right of my current tab) is slowly growing. There will sometimes be duplicates. Read 'queue' that I want to keep open for reference / high level overview / branching off of (most things left of my current tab) also grows.
6) An hour later, I'm perhaps up to 50 tabs. Often less, but sometimes more.
Oh, here's a high priority question/bug/problem/task from my valued coworkers. I recall relevant documentation, but not the exact keywords. I open a new window, and repeat the process. Oh, hey, lunchtime! Interesting discussion over lunch prompts me to investigate another related topic. I open a new window when I return to the office.
Aha, results! A whirlwind of coding
Oh, end of day already? Hmm, I have 5 chrome windows open... LET THE HARVEST OF BOOKMARKS COMMENCE! Hundreds of tabs becomes 0 as I do a quick glance kneejerk yay/nay on bookmarking every one of them and doing some kind of basic organization by topic. Other coworkers use browser extensions to save their tabs instead, instead of engaging in this organization ritual.
The computers shut off. The lights go out. The sun has set, and silence descends, despite the open office floorplan.
...and then, some time later... a new day dawns...
> Why not just open them when you need them?
I don't want to wait for the webpage to finish loading when I switch to it. I don't have a clever way to rebind MMB to bookmarking new pages that I haven't even visited yet. I don't want my bookmarks cluttered with potentially useless tangent topics - I already have too many (thousands? tens of thousands?)
I have 32GB of RAM. I can spare a few gigs for Chrome.
Firefox works very good for me in this workflow. I have it set to open to previously open tabs and windows so that I don't have to periodically bookmark everything at the end of the day and Firefox doesn't crash on startup like Chrome if I have too many tabs open.
To better help me, I use the Tab Groups extension to group things into projects and used to use the Tree Tab extension to keep MMB tabs together, so that I can simply close all related tabs if I think that the topic I started MMBing on was not useful.
Current stats:
326 tabs, 1 window, 22 tab groups.
1.2GB of RAM spread across 4 processes.
I have exactly the same workflow, and that's one of the reasons why I prefer Firefox, it uses much much less RAM when having 100+ tabs open then Chrome.
The trouble begins when you have something like 30-40 tabs open, I think.
Firefox is among the first programs I open after logging in, and I usually leave it running until I either shutdown/reboot or a browser update makes me restart it. And I tend to only reboot my computers (both at home and at work) when system updates make it necessary. Often I will open a page and then just leave the tab open for "later" (which might be hours or days later).
It's not uncommon for Firefox to grow to 1-1.5 GB in size. Personally, I consider that an acceptable tradeoff, given its usefulness, but it is a rather heavyweight program.
(On lower-end machines I prefer either dillo or w3m. Pages with layouts that can be even remotely considered "fancy" will look kind of strange in dillo, but it is incredibly fast, and I have never seen it use more than 150MB of RAM.)
Hah, you've never seen what would happen to Chrome on similar workloads. But yes, your RAM usage is spectacularly high compared to mine beacause I have 326 tabs open right now (90 something loaded in memory) and FF is using 1.1 GB (750+180+170+40 MB) of RAM.
I regularly log in to 8 google accounts and have 4-12 tabs open on 3-6 separate windows. Issues come up on occasion that are fixed by closing chrome and reopening.
Not sure exactly but that's my experience at least.
Whenever I get a new account I set it up to forward to my main account and setup my main account so it can properly send as that account. This way I only ever need one account open.
Just one. I have an old gmail.com account from when they first started, but all of the newer accounts I get are google apps or gsuite or whatever they're calling it now. Those don't require a unique phone number.
lots of agencies have this need - social media agencies for instance need to be logged into all the gmail accounts of their clients at all times, so if they have 20 clients thats 20 logged in accounts.
...and the code, and all of the state from the objects that are, you know, "currently resident in main memory" while that logged in account is being accessed, and, and, and.
Only three Google accounts for me, but otherwise that sounds consistent with my experience— running on macOS, I need to restart Chrome typically once every day or two. Otherwise everything just eventually crawls to a halt.
Boss, 'News doesn't even ping uBlock Origin as having anything truly objectionable. You run a wonderful website that I have been privileged to contribute to. In contrast, some of the other places on the web I've visited that have auto-playing ads & auto-playing rich media have made my browser explode due to my rural broadband which you've heard me whine about. I pretty much have had to have uBlock Origin installed lately to keep four or more tabs open even on my Xubuntu 16.04 box.
At least on Ubuntu 16.04, the "Ubuntu integration" add-on that is auto-installed prevents e10s from running, so you get a choppy, single-threaded UI.
I'm sure a fair amount of the plugins people install are actually what lead to the large memory consumption. That, and the hundreds of tabs they leave open. I feel like tabs have become the new bookmark. Maybe what we really need is some sort of ephemeral bookmark system?
I see people complaining of memory issues in browsers all the time though, what causes these issues, and how is it I never see them?