Hacker News new | comments | show | ask | jobs | submit login
Show HN: Save Memory in Google Chrome (one-tab.com)
314 points by srgseg 1657 days ago | hide | past | web | 292 comments | favorite

Memory use seems like a really pointless thing for users to care about. There's a widespread intuition that using RAM is inherently bad and low memory usage is a worthwhile goal, but it doesn't really make sense. The key performance goal is minimising latency, which is best served by using as much RAM as possible without having to swap out.

RAM is now fantastically cheap. 16GB of DDR3 costs less than $120 in either DIMM or SODIMM format, so there's little reason not to load out your machine with far more memory than you'd practically need.

I'd like software to use more memory, not less - for the vast majority of the time, most of my RAM is unused and my disk is idle, so why not use an aggressive strategy of pre-emptive caching?

Completely disagree. We've seen too much complacency in recent years when it comes to memory usage. Developers think it's ok for their applications to bloat out and have a huge memory footprint. I'd rather applications were developed in such a way that they were more memory efficient.

I've had a recent incident in which Chrome was consuming about 7GB of memory, just because I had about a hundred tabs open! It was really, really, insane. This reckless disregard for memory usage caused more problems in terms of performance, and it wasn't apparent what was happening until things started OOM'ing. (Swapping is really just as bad as an OOM - the computer's practically useless if it's trashing due to low memory.)

Your ideal situation of having more memory used will, in many cases, lead to degraded performance.

There's no way you could effectively work with 100 tabs open, and that is surely a smell for inefficiency. For any given task, 5 tabs is probably reaching the upper limit on what's actually _required_, with around 10 being the upper limit.

Granted, you could have multiple tasks ongoing in parallel, but are you really working in parallel at that point? If not, save the tabs and return to them later. I really doubt you are visiting all 100 tabs on a regular basis so as to merit they stay open at all times.

I've seen way too many people use their browser as a sort of todo app, by virtue of "I'll open a tab for this so I don't forget to do it later" -- hell, I do this too -- but that's not at all the intended usage of a browser, and so naturally, it sucks at it.

What can I say? It worked for me. I was doing a lot of research and things I'd read would lead to more searches of tangential topics that I'd want to revisit in the coming hours. This method of working fit my mental model and I was flitting between tabs as necessary, not just opening them up with the hope that I'd read them sometime.

Also, if I need to click on a whole bunch of links that I know I'm immediately going to evaluate, it's faster and easier to click on 50 links in one go than to click, evaluate, close, find my old position, click, evaluate ...! I'm someone that likes to batch tasks because I find it more efficient.

Opening that many tabs isn't something I do every day. I've only got seven open right now, which is normal-ish, but sometimes I need it and I know I'll need it again soon.

(On a side note, I can't really figure out why but I hate the term smell but it triggers a visceral reaction and wish it'd die a horrible death!)

You don't open 100 apps on your computer and then complain about memory usage. Running 100 tabs at the same time, all of which may be running live JS processes, is about the same. It's a perfectly valid usage pattern but it's also going to eat a lot of memory. It's not like driving with your parking brake on, but it's like loading your car up with its maximum passenger capacity and then complaining that it's accelerating more slowly.

I've done it before with earlier versions of Firefox on a system with fewer resources that yielded a substantially lower memory footprint.

It is very possible to do a lot with less memory.

It's possible, but there are always competing goals - speed, security, reliability, features, memory usage. When capacity on one is growing quickly (and cheaply), it's not surprising it doesn't get the same priority as some of the others. In particular, I'm not sure how many extra users you'd get by reducing memory footprint versus adding features.

But this has been discussed ad nauseam, and it's unproductive to keep complaining about it. The fact should be obvious, at least by now, that sandboxing uses more resources. If you're fine with that, great! If not, do something to fix it or use a different browser.

This sounds like it was possibly some time ago. If so, don't discount the effect of having less resource-intensive sites too.

Originally you explained the problem as if you always had 100+ tabs open, but now it sounds like an occasional occurrence. I was mainly speaking to if you always had 100+ open -- as if that was your normal workflow.

I do understand at times you want to open many more than that for a limited time, but those situations (at least in my experience) are typically very short-lived and don't represent my ordinary common usage pattern.

[and yes, smell is supposed to invoke that reaction! a code "smell", or process "smell", etc. is something that stinks, and it should disgust you, and you should work to clean up the 'smell' ASAP! :)]

> Originally you explained the problem as if you always had 100+ tabs open, but now it sounds like an occasional occurrence. I was mainly speaking to if you always had 100+ open -- as if that was your normal workflow.

... because if you do it only occasionally it uses less memory? :-/

> [and yes, smell is supposed to invoke that reaction! a code "smell", or process "smell", etc. is something that stinks, and it should disgust you, and you should work to clean up the 'smell' ASAP! :)]

Yes, Mother.

Guess what? Your preferred workflow is just as smelly. Clean it up.

Tabs have replaced bookmarks as the means of saving stuff for later. Why is that? Because bookmarks require a lot more mental effort to organize and take more effort to delete when you're done with them. Bookmarks also take a lot longer to load than a tab (which is usually loaded already).

Very good point, and touches on a potential piece I'd like to write sometime. Used to, bookmarks were like a collection of good books -- easily filed away, organized, and still as good when you opened them a year later as when you last touched them.

But not anymore. They change. There's tons of them. And organization sucks, though FF isn't as bad as Chrome and IE, but the general paradigm of shortcuts needs to be re-evaluated. I don't like web-based services (for many reasons), and I've yet to find a fitting extension that works for me.

So yeah, I can see how this usage pattern has arisen, but I think the answer is ultimately up to innovation that has sadly yet to occur.

I agree. I regularly have hundreds of tabs open in Chrome, and while I do regularly save things to Chrome bookmarks, I treat it more as a place where I can put something that I won't look at again but there's a 1% chance I'll desperately need to find it at some point in the future and won't be able to find it by Googling.

Also interesting that Chrome never added an option to sync bookmarks to the Google Bookmarks web service.

If the majority of people are using a tool in a particular way, it becomes the tool's responsibility to meet that need effectively. Just because you didn't anticipate the ways that real people would use your technology doesn't mean you get assuage responsibility for its shortcomings because you didn't foresee them.

I'd argue that a majority of users aren't running with 100+ tabs open, though.

I regularly maintain over 250 tabs, and use multiple workspaces to manage a very specific and highly efficient workflow. It works incredibly well for me.

I agree it sounds a bit excessive (though I go up to 50 tabs myself often enough), but how is you telling him off about how his way of tab-usage is inefficient in itself in any way relevant to a discussion about browsers memory usage??

I hope you didn't really try to say "there's nothing wrong with browsers' memory usage, as long as you don't stress them too much" ? :) :)

I wish browsers would ditch tabs and switch to buffers. Emacs users know just how darn useful it is to keep 500 buffers open, each with fuzzy completion so you can switch to exactly what you want.

> There's no way you could effectively work with 100 tabs open

I'm sure there's no way you could effectively work that way, but imagining that what's true for you is true for everyone is a massive smell for ignorance of other workflow styles and cognitive abilities.

just because I had about a hundred tabs open

That is a lot of tabs, though.

I average over a hundred tabs regularly.

Although once the favicons disappear, I usually open a new window, or group windows by subject matter. I've tried to alter my browsing habits over the years to ease the load on my computer, but I've just come to accept that I am just one of those people.

This tool is either the best thing that's ever happened, or it's about to exacerbate my problem 10 fold.

You should try the tree tab plugin. Works like a charm.

How is using this tool significantly different than bookmarking then closing all your currently open tabs, which you can easily do now?

Good point, we'll have to see. I have the same problem as the GP (though up to 50 tabs usually) and indeed "bookmark all"+"close all" doesn't really help because if you never review those bookmarks, you tend not to take the step either.

As someone else itt already said, a better solution would be some improved bookmarking system that I can use to just file away a tab, knowing that it'll be there when I need it, as well as offering the option of, I dunno popping up for review in a couple of days or a specific time maybe.

One thing I do not understand is why modern browsers, apart from bookmark-folders do not offer tags as well. They were a hugely successful way of ordering things back in the day and they have all but disappeared for some reason. And they would be tremendously useful in bookmarks (to me). And del.icio.us is dead, plus I don't want a web service to keep my bookmarks, it's too slow.

I'm not sure if I understand your comment. Firefox does allow you to organize bookmarks by tag, and it even lets you use the tag collection as a bookmark folder (meaning that you can add the tag to the bookmark bar and it behaves like a normal bookmark folder.) You can even add different links to different bookmark folders and give them the same tag, so that they appear under the original bookmark folder and under the same tag category, or tag folder if you drag the tag to the bookmark bar. If you decide to remove the tag folder from the bookmark bar, the tag will still exist.

Really? I have to admit never trying FF's bookmark system in depth, just Chrome and Opera. Well then. Thanks for the tip, I will try! (though my zillions-of-tabs problem mostly resides in Opera)

if you have a 100 tabs open, you're using it wrong.

Well, if you have 100 tabs open, you might be using the wrong browser. Chrome is obviously not designed to work with that many tabs, either from a UI standpoint or, apparently, a memory use standpoint.

However, I don't really see why there needs to be a strict limit on the number of tabs you can have open before your browser starts trashing all your memory. This is a problem that can be solved by designing your software to deal with that use scenario, either by pausing unused pages and serializing the resources to disk or by disposing of the unused pages entirely without removing the tabs. You'd want a pref for this, but it seems entirely reasonable to me.

there isn't a strict limit, its just not a viable use case for current browsers.

Maybe what we need is Chrome/FF to consider the very high tab count as a use case and handle it better, when you have so many tabs it's not easy to find the 1 in 100 that you're looking for, we would need a new find tool, possible the browser should build a client side tf/idf index and make the whole working set (workspace) searchable. You see what I mean? Until the browser changes to support this usecase, the usage will be klunky and fraught with problems.

The Firefox tab bar is naturally more usable than the Chrome tab bar with large numbers of tabs because it scrolls rather than trying to fit them all in the bar. (I sometimes wonder whether squeezing tabs to the point of absurdity was actually a conscious decision by the Chrome developers to limit the number of tabs people can open and thus memory use.) There are a lot of Firefox extensions that add additional tools to manage large numbers of tabs, of which Tree Style Tabs is perhaps the most popular. There are not as many Chrome extensions, since Chrome's UI is not as extensible.

Actually I usually set firefox to squeeze tabs. I love it. As long as the favicon is visible it works fine. Hiding the favicon in small tabs is the real sin of chrome.

I agree. I'm a tab hoarder with hundreds of tabs open in Chrome. I never do that with Firefox's scrolling tabs because I remember where things are based on their place among the other tabs. Firefox doing a min-width on each tab and hiding the rest makes it impossible to find where that other page I looked at 5 minutes ago went.

The design of Firefox makes it able to handle a lot more tabs than Google Chrome. You can easily have two hundred with no sweat.

It also features Panorama built-in, which lets you search through all the tabs. It's as simple as Ctrl+Shift+E, type your keyword.

Huh, I didn't realize you could search. That's neat.

How do you suggest to handle the fact that there are many websites which break the "back" button these days? I've gotten to the point where I open a new tab practically every time I follow a link. Not to mention news sites where you need to open all of the interesting articles that you see before the page updates and they go away.

Or, as Apple says, "You're holding it wrong."

Not really, especially if you're doing a lot of research, or for whatever reason the page is particularly complex and it causes the process that tab is running under to consume a lot of memory.

No, a hundred tabs is still far beyond a lot.

If a hundred tabs is not really a lot, what would be? 250? 1,000?

Whatever the brightline test for "a lot" is, there's no compelling reason each tab should be consuming about 70MB. Under Chrome, each tab runs in its own process, which is certainly a contributing factor. I appreciate this is for stability and security, but it's not the best solution for the problem and has some serious drawbacks, i.e. horrible memory usage.

As I said in another reply to one of your comments, I don't think 70MB is a lot per tab. I'm fairly certain that if you run Firefox 2 for instance it'll use close to that amount for one tab.

The fact that it is its own process is a very small contributor to per-tab memory usage.

I end up with quite a few tabs open myself. I find if I bookmark a tab, add it to Pocket, or copy the URL into my notes that I'm far more likely to go back and actually read it. Before I would keep tabs open for weeks "just in case".

I can relate, I do the same to keep the tabs open so to read them later. Most of them end of not reading them weeks later. Never use Pocket. Presumably, it's similar to ReadItLater or Instapaper? Perhaps indeed that's better approach.

tabs are not a replacement for bookmarks, the idea is not to open an ever increasing number of tabs, but rather bookmark and folder things if you need 100 concurrent research tabs. It's just the wrong way to use the browser.

It would be like me arguing that driving my car with the parking brake on makes it get hot, of course it does, it's user error.

Well, no. If you've got all those tabs open and you're flitting between their contents, it's appropriate. It's not the wrong way to use the tool, it's a way to use it that's perfectly appropriate in some cases.

There's no reason I should be fighting against my browser because my optimal workflow causes it to chew through memory!

no. when number of open tabs < 10-20, yes sure, but when that number reaches 100, your doing it all wrong. Its not about how much memory it consumes, that's irrelevant, if you need more memory just go to crucial.com, it's dirt cheap. Its about using the tools properly.

I can't argue the position for this workflow better than I already have. I refute the idea that I'm "doing it all wrong". No, I'm not and this was the only efficient way to get what I needed to do done.

My laptop's motherboard can't handle more than 8GB, so I don't even have the option of putting more RAM in it as it already has 8GB. Also, I shouldn't have to keep throwing in memory to handle applications whose coders feel it is fine and dandy to gobble memory with reckless abandon. Why should I bear the financial cost of a poorly designed application?

I'm most certainly using my tools properly whether you agree or not. I'm not bitching about 5,000 tabs causing excessive memory usage, I'm complaining about 100 which is not that many during research that requires going from page to page, or opening lots of links without having to remember where I was at in each part of my stack; I've got less working memory than my computer!

It wasn't the only efficient way to get what you were doing done. It's ridiculous to say that a hundred tabs is a reasonable use case. The very fact that you ran out of memory tells you that. If you really need 100 concurrent tabs (which you don't) then you need a different computer for your research. However, you're using the browser incorrectly. Why not save the text you want to a document, or out it into a spreadsheet?

10 tabs yes, 100 tabs no!! Stop arguing, even your computer's telling you the same thing :) you're just bent belligerent snd acting like a spoiler child. You're browser can't do, so you maybe should find a different way. As I've suggested.

I also regularly have over 100 tabs open and I find your suggestion that my workflow is wrong is insulting.

Maybe you don't need to have 100 tabs open. Maybe you lack imagination to see scenario where having that many tabs open.

It is also possible that you are aware of some great/better way to solve similar scenarios than me, but I guess you are keeping it a secret, since I regularly evaluate new plugins and extensions, and also search google for tips and tricks, how to do it better. (And to date haven't found a way)

Sure I could work with less tabs. Hell Everything could be done with only 1 tab in 1 window (and I used to in the 90s), but it's not as efficient as what I do now.

Edit: major spelling errors.

"Maybe you lack imagination" - maybe you lack computer skills, it certainly seems so. There are plenty of ways you could avoid having 100 tabs open. However, if you feel like that's something you need then stop whining and buy a machine with enough RAM for your usual use case.

the ideal number of tabs roughly corresponds to the human stack size, plus a couple for on-going apps like gmail. If you need more than that, you should consider a better mechanism than the browser. Since you haven't found any, I posit that its you who lacks imagination. If you found my comment insulting then I am sorry.

Probably but it's still 70MB per tab.

I agree with you, but 7GB for 100 tabs sounds likes something unusual happened. I usually have around 200-350 tabs open (Yes, I'm hoarding, I'm aware of it). I usually terminate their processes and respawn them when I need them (their state is not lost) but IIRC, when I don't I get around 3GB for 200 Tabs

I've seen this many times, and it seems to depend on the complexity of the page being rendered. I did close and re-open things, much to the same result.

Totally agree. My PC, which needs replacing, only has 2GB of memory, because that's what the motherboard supports.

That doesn't make sense. Motherboard usually support a certain number of memory sticks. You probably have 2x1GB sticks, you can upgrade by replacing them rather than adding additional sticks.

You probably do still have a 32bit system so you're still capped at 4GB of useful memory. I'd still upgrade my system if I were you.

In theory you'd be correct. But some motherboards, even when they're not operating under the constraints of 32 bit addressing, can't handle more than a certain amount of memory. In my case, my laptop's motherboard can only handle a maximum of 8GB.

This is a fairly common problem: http://superuser.com/questions/308310/what-limits-a-motherbo...

1. The memory controller will impose its own limit, which may be less than you'd think.

2. The form factor may also impose a limit. You won't find a DDR stick larger than 1GB, for example.

Of course, if either of those were the cause of a 2GB limit, then you could make the case that the whole system should be upgraded, but that's a lot more expensive than a couple of sticks of RAM.

Sometimes motherboards work fine with more than the advertised supported maximum. It would be worth a shot if you can try with borrowed or return-able RAM.

I don't see how it's a developers' fault that you opened 100 tabs in Chrome. 70MB per tab is really not that much, I don't think browser memory usage has actually gone up by much compared to other applications. I think the fact that it was usable up to that point is a testament to its design, though I personally think Firefox handles large numbers of tabs better overall (UI wise).

I have 8gb. There was a time when 1gb was more than enough. Now you're saying I should have 16gb -- and you're right!

This is Not A Good Thing. This is people throwing every last feature -- even if it has a pile of 800kb of DLLs/SOs attached -- into every app, with no regard for memory.

I find my system thrashing almost daily at this point. I need to upgrade. Two years ago, running predominantly the same software, 4Gb was just barely not enough, and I upgraded to 8Gb. And two years before that, cut the memory requirements in half again. And again, and again, until you get back to the 1Mb of RAM I had in 1990.

There has been a trend to do exactly what you say you want for 30+ years. And you know, some of that extra memory has been used to great effect -- we can do a ton more now than we could in 1990. But a lot of it is wasted, just Because It's Easy.

And that wasted RAM means pointless upgrades every two years; 99% of the bloat at this point is for something I don't need or want. The ONLY valid reasons to need 16Gb+ are if you're actually using that much data in one place -- a server that needs to scale, for instance, or editing video, or maybe a game that uses crazy amounts of data and/or video.

That the same apps are bloating 2x every two years -- and as a result get slower, since hard drive and memory speeds certainly aren't doubling every two years -- is really unacceptable laziness on the parts of companies and developers in general. It's pretty much the opposite of a Good Thing.

Python and Ruby are on average about 40x slower than C. Fifteen years ago, this relegated them to the status of "scripting languages" that were unsuitable for Real Work. Today, there are still plenty of important applications where every clock cycle matters, but many more where that performance difference is absolutely irrelevant.

We have come to understand that developer time is vastly more valuable than computing resources in the overwhelming majority of applications - the only real disagreement is how many orders of magnitude of inefficiency we consider tolerable. Even the most resource-constrained applications are using higher-level languages and computationally inefficient designs, because it's much easier to spec a faster chip than a smarter dev team.

Most applications aren't getting significantly slower. Web browsers are a perfect example of this; Almost every aspect of their performance has improved vastly over the past few years, but as a result we're building much more sophisticated web apps and doing things in the browser that were once purely the domain of highly optimised native apps. It's a near-perfect example of Jevons Paradox. Improving the efficiency of a process reduces the cost of the output, which leads to increased demand for the inputs to that process.

My current computer has 700,000x more RAM than my first computer. If 99% of that memory is wasted, I'm still doing pretty well.

Funny that you should post this, and the next day on the front page of Hacker News an article talking about Ruby taking 30 servers, each of which running at 50% CPU utilization -- and still Rails would go to 100% utilization and crash the cluster when usage spiked -- while Go could run on a single server without even seemingly using CPU (5% was typical). [1] That's greater than a 40x speed improvement -- closer to 300x, going from 5% on one to 50% on 30.

>We have come to understand that developer time is vastly more valuable than computing resources

I get that, but still, 30 servers is pretty expensive. Having a full time engineer just to manage the cluster and write load balancing code is pretty expensive. Having down time because of a usage spike is pretty expensive. I'd rather pay for the smarter dev team myself, but I'm an engineer, so I'm biased.

Though fundamentally I wasn't talking about servers above. I was talking about desktops, and mostly Windows desktops. And having to install Python because that's what one developer prefers, and .NET because of another preference, and Perl because of a third, and Ruby because of a fourth, and Java because of a fifth...where does it end?

My own "scripting language" of choice is Lua. It's TINY, it's faster than all of the above (except, under some circumstances, Java -- but give Mike Pall another year or two and I bet LuaJIT will be beating Java in all the benchmarks instead of just many of them), and using it gives developers that productivity boost you're rightly saying is important.

And if you need more speed than Lua can give you, Go is a good option, if it comes to that. But as you point out, not every app needs every cycle.

[1] http://blog.iron.io/2013/03/how-we-went-from-30-servers-to-2...

Except when you're wasting that much ram you don't have room for modern high-resolution bitmaps. Binaries and GUIs and whatnot can afford to be bloated, but not everything.

8GB of RAM is about $50 right now. If you have to replace that every $2 years, are you really complaining about the cost of $25 per year on your $1,000 computer system? It's a rounding error.

Chrome, in particular, is generally be used for far more tabs (I have like 30 open right now on a MacBook Air) and increasingly complex web sites every year. It's easy to look at memory usage and complain, but the fact is that our usage and the size of the pages we're loading is also rising rapidly. If you loaded Chrome from two years ago and used it how you work today, you might not find the memory footprint that much better than the current version.

>If you have to replace that every $2 years, are you really complaining about the cost of $25 per year on your $1,000 computer system?

That's assuming you're using a computer with user upgradeable RAM, and not a new macbook pro.

This is where the physical waste really gets bad to me. I'm not weighing in on this discussion as far as more RAM vs better binaries because /I want both/.

But if you have to buy a whole new machine every two years when they only pieces of hardware that are getting better should be upgradeable (ram & display) it's pretty disheartening.

Even if you don't have replaceable RAM, you're still replacing your computer at some regular interval. It just means you have to buy the computer with more RAM than you would if it wasn't upgradeable (which was true anyway.) That's part of the cost of buying a computer where you can't upgrade the RAM.

If it's not upgradeable then it's disposable. Get the new one next time.

You say that as if MBPs have no resale value.

The ram upgrade procedure for the new MBPs is backup, Craigslist, Apple Store, restore.

I'd love to be able to upgrade my laptop RAM like that. Laptop CPU and motherboard manufacturers are still quite stingy about the maximum RAM they support. This limit is the only reason I had to buy a new laptop last year, and why I will likely need to buy another one in a few more years. A laptop sold today should support up to 2x64GB DDR3 RAM[1], but typical Ivy Bridge laptops only go up to 2x16GB, and a year ago it was max 2x4GB or for higher-end 2x8GB. The laptop I replaced had max total 3.2GB (you could put in 2x2GB DDR2 but the system would only see about 3.2GB, so I stuck to 2GB+1GB). Its 2007 Core 2 Duo is still blazingly fast, and its disk was easy to upgrade to an SSD.

[1] One can't easily buy a 64GB DIMM today, but Moore's Law is swift and mighty.

It's not about the money, it's about the complete disregard of quality. The applications we create should only use the resources they need.

If hogging lots of RAM makes my program legitimately run better, then that's what it should do! Chrome runs a process per domain (or something like that) for security and stability reasons. That adds a lot of overhead for lots of tabs. But that's OK because there's actually a reason for using all that RAM.

>If hogging lots of RAM makes my program legitimately run better

It objectively doesn't make your program run better to waste RAM.

If RAM usage goes up 2x every two years but RAM and hard drive speed go up 20% in the same time period, then using more RAM when you don't need it is making programs more sluggish to start and to suspend to disk, and it's making computers draw more power while sleeping (to keep that much RAM alive -- the D in DRAM means every bit in the RAM needs to be refreshed continuously).

Objectively? That's a dangerous word; I hope you've got a better argument than this one. Hard drives are being rapidly replaced by SSDs, so their speed just jumped _way_ up (especially start-up and random access times, which affect sleeping and waking performance). 2 or 3 orders of magnitude, not 20%.

SSDs are great. But I have exactly one hard drive bay in my laptop, and it currently holds >580Gb of data. Some of that is bloat, but MOST of it is real data; I have lots of raw video, source art for games, music, and many folders of compiled object files. I'm a game developer, so I use a lot of hard drive.

From what I've read, an SSD has an expected life of about 1-2 years. Aside from not being able to afford $2500 JUST for an SSD to hold my data [1], I can't fathom paying that much every 1-2 years as the drives die. Not to mention downtime and potential lost data (between the back-up and the failure).

I'd love to have an SSD. In a year or two, I probably will, as the costs will likely drop.

But until then, yes, the performance has objectively dropped.

[1] http://www.amazon.com/OCZ-Technology-2-5-Inch-Performance-OC...

> the complete disregard of quality

Quality is measured on multiple axes. RAM use is only one of them. CPU use is another, for example, and it's often the case that reducing CPU use requires increasing RAM use.

Total page size as measured by the http archive project is currently growing 20% per year on average. Any benefit to be had by chrome's speed-ups is lost many times over by web designers bloating their pages. The web is becoming slower to use.


And yes, that's pure raw bloat. Sites haven't gotten richer content the past 2 years, they've just put on some weight.

What are you guys talking about? My main machine has 1.25GB of RAM and is 10 years old.

Sure I don't use it for modern gaming and sure I've delegated tasks to much stronger uni machines a few times in the past but other than the occasional hw problems due to age it still works and is mostly enough...

| a pile of 800kb of DLLs/SOs attached

Shared Objects are not too bad, since they are shared between all processes that use (the same version of) them. In fact, the apparently worst case of linking them "into every app" is only slightly worse than having them appear in one app each. Assuming they are not all in the working set of every app at once, the overhead is small. Great OS technology!

I think the main technical problem with code/feature bloat is the increased likelihood of bugs with every additional line of code.

The problem isn't when everyone is using the same .so/.dll. THAT would be a dream by comparison.

The problem is that one app wants the Mono/.NET runtime, another wants Python, another is using Java, another is using a huge pile of Visual Basic libraries...and then every app ECOSYSTEM has its own pile of dependencies and libraries. And on Windows, to avoid DLL-hell, everyone pretty much ships their own version of libraries to ensure compatibility (and if you're on Mac, the story is pretty much the same there -- apps don't share anything but OS services -- it's only on Linux where you can rebuild everything that people dare share versions, and even then another commenter just pointed out there are bugs with that too).

Java/Eclipse is probably my current worst offender, and Firefox is still greedy (though it's gotten better -- and Chrome is just completely broken on my system right now for whatever reason). Both are actually worse than the (bloated) Visual Studio that I need to run to develop Windows apps. And then of course there's Firefox (which has gotten better) and other various apps I'm running just to do basic development.

Eclipse makes Visual Studio look lean by comparison -- but if I want to develop for Android, I have to work a lot harder to get an alternate environment ALMOST working as well as they've got Eclipse configured to work.

Sounds like you're on Linux or Mac, and not doing as much GUI development as I choose to do. Looking right now Eclipse (the GUI from hell) alone is using 608Mb of memory. I know it has a lot of useful features, but 608Mb is a crazy amount of memory to use for a fancy text editor.

I'm also using Notepad++ with tons of plug-ins, and it takes up <10Mb. Eclipse does more, but really, does it do THAT much more?

And SKYPE is taking 90Mb to sit idle. I use Skype to chat with business clients, so I can't easily just toss it, despite that Pidgin is using 21Mb to connect to 4 different chat networks simultaneously and Skype only connects to one...

The list goes on. And I need to upgrade to 16Gb soon (though looking at the memory usage right now, shortly after a reboot, I'm "only" at 4.1Gb, so it's not critical yet). Sigh.

Actually, I encounter the problem of mismatched .so versions constantly when running new programs or libraries that are built from source. It would be nice if developers would figure out how to use libtool (and whatever the Windows equivalent is) so that this doesn't become a regular exercise in frustration.

This is precisely the motivation behind the renaissance of the "simple / command-line-driven software movement" that you see sprouting up from the corners of the Arch Linux users, Slackware, and elsewhere.

I used to carry around a laptop with 128MB RAM. In 2010-2012, I had 1GB and was happy with it, but I had to adapt:

- Try a tiling window manager. You'd be surprised how many resources it takes to draw those window decorations, which not only saves RAM but also helps you focus better.

- Try a lightweight browser like LuaKit, dwm, surf, etc. Most of them are Webkit-based anyway, so there's not many problems. Plus, a keyboard-driven web browser is a hoot

- Try using emacs/vim instead of Word or OpenOffice. Thanks to LaTeX, I haven't touched a huge office suite in ages.

- Instead of having lots of programs open in the background, why not try some command-line equivalents? If you're not on windows, you have access to a world of utilities: music players, todo lists, file managers, etc.

Now I'm on an 8GB machine, and even under heavy load, I don't think I've ever come close to reaching that limit in the six months I've owned this box. (I don't have any swap space either)

This specific case is not bloat at all though, it's actually you as a user having too much content that you care about. So I don't see why this is relevant at all.

It's not 'boat' per se but it's not caused by the user content. It's caused by chrome's process model. Firefox uses almost an order of magnitude less memory per tab.

It's always had that process model though.

Memory is cheap in the the first world. I live in Argentina, which is not a particularly poor or undeveloped country, and my 8GB of RAM are almost impressive. I know of no one who has 16 GB, and a few of my friends have 8. Most people I know of have between 1GB and 4GB, with 2GB being by far the most common configuration.

I live in 'the first world' and I can't afford more RAM. $50 is far too much for me to spend at the moment. (A need for more RAM is trumped by my powerful urge to eat.) Not to mention working at a corporate job where the computers are older than my children and every ounce of saved RAM is a blessing.

Most people in the States have whatever their computer came with. Even computers with user-serviceable RAM can usually only address twice as much RAM as the machine came with. So, if last generation's hardware comes with nMB RAM, and this generation's comes with 2nMB RAM, owners of last generation's hardware can usually only upgrade their RAM once.

It's a bit silly, because RAM and storage seem to be the only things most people need more of on a daily basis. I suspect 5 year old CPUs would meet most people's needs just fine.

there's little reason not to load out your machine with far more memory than you'd practically need.

Unless you simply can't install more RAM without buying a whole new laptop. That's certainly the case for my laptop; its Intel i5 only can address 8GB max.

Memory is cheap, but buying a new laptop sadly isn't, especially when it's a decent development machine, and a step above standard consumer configurations.

It is not about money, it is about sloppy programming. Sure you can use more memory, but not at the cost of disrupting everything else on the system. For example most of the netbooks / ultrabooks or whatever you call them (including macbook air) used to come with 4GB at most. Upgrading them is a pain, and having a memory hog is definitely an issue in those cases.

Remember not everyone can afford the latest beast of a machine that can accommodate 16GB RAM, some people still have laptops that can hold a maximum of 4GB by design limitation; it's more likely to be those people worrying about Chrome's RAM usage.

And RAM uses power, whether it's being used or not. Having more RAM means shorter battery life.

I suspect the power penalty of RAM is made up for by the fact that you don't have to hit the hard disk to get that data back (firing up the HDD will suck a lot of juice). It also appears the needs are pretty much tied to the chip, so a 4GB and 8GB module use about the same amount of power.


I have 16 GB in my ThinkPad (x230) and it still lasts 10 hours, so that's really negligible.

and buying a decent new machine to put that 16gb in costs some more. And migrating all your stuff over to that new machine takes time.

And then everyone will continue to write code without regards to memory usage, and we'll be complaining that Chrome 45 locks up 19g per tab, and people with your mindset will say it doesn't matter because 1TB ram chips are cheap enough at $400 to just upgrade.

Just having loads of stuff using RAM takes more time to manage. I would not have imagined in 2013 with 16G of RAM and a > 2ghz multi core processor that I would still get system hangs and beach balls in my OS, but I do.

Not only does it save you memory, it also reduces CPU usage because Chrome would otherwise continue to run scripts in all of your open tabs.

Depending on the complexity of the web pages, having 100 open tabs can easily cripple a brand new laptop with 8GB ram.

Having 100 open tabs would be unmanageable from a UI perspective. I can't deal with more than about 8 open at once, per window. I just bookmark stuff to come back to later if I'm dealing with more.

So ... it's not a technical problem.

My UI lets me press b to do a substring search on the url/title, which makes managing 100+ tabs trivial. And I often need to have a lot of tickets/revisions/forum threads/stack overflow questions open in tabs at the same time for my work.

Don't project your UI limitations onto other people please :)

Did you try Ctrl-tab?

> RAM is now fantastically cheap.

Sure, but IMO it is the height of hubris to assume that your application's space-time-trade off to gain a few ms here or there is vastly more important that every OTHER application I am trying to run.

Play nice.

When your primary workstation is a laptop, which won't accept more than 8GB of RAM, and you have to use certain Java based desktop apps, everywhere you can save memory is useful.

I agree it should not be an issue, but when the usual short-sighted budget issues are the primary problem, one has to use other tricks:

"You mean the 3 year old machine you work on for 12 hours a day is no longer good enough? Sorry, that does not fit the depreciation model. Also, we spent all the budget on new MacBook Airs for Sales, because they really needed new web browsers."

I have a recently purchased Mac Mini which came with 4GB of RAM and whenever I happen to access a certain Flash-heavy page (http://www.lequipe.fr/direct_foot.html for the curious) Firefox just instantly eats up all the available memory, everything freezes and I have to manually restart the machine (I know the article is actually about Chrome, but I'm trying to also make a point that memory usage counts).

Software should be optimized for the most common use-case -- not the outliers. Most people usually buy computers in standard configurations (which typically means 4GB to 8GB of memory) or use company provided equipment and they aren't going to be happy with being told "just buy another 8GB of memory -- it's only $120" as a solution to the slowness of their browsing!

And not everyone is browsing the internet from their disposable income suburbia with their extensible upgradable tower computer.

But then again the HN bubble also thinks my mother knows "Twitter Bootstrap" by name.

I agree with you that everything should be in memory, but I wouldn't call saving memory pointless. The cost of RAM isn't the issue here... we all know RAM is cheap! However, the problem in my case is that my laptop caps at 16GB. I'm also using a RAM drive and no page file (for obvious reasons) and all temp/cache files are also in memory. I'm working on an app that does some heavy lifting on the browser. At times I have tons of reference material open, examples for third-partty controls, sites with flash or controls leaking memory, etc. Memory usage in Chrome was ~8GB.

I could certainly benefit from reduced memory usage while still being able to go back to all those tabs. My overall system usage was 15 GB and with any more stuff I risk losing everything (since I'm not using a page-file).

This might be a very specific use-case, but I do see a lot of value in the extension. (Now, only if I could further hack my machine to use 32 GB :>)

Disagree. For most of us, memory is already full, so bloatware increases swapping, which makes your PC less responsive.

It's somewhat ironic than opening Gmail in Google Chrome seems to consume roughly the same resources as Microsoft Outlook....

I have a macbook air. Can't upgrade the memory. Using less memory is a definite positive for me. Because you're situation is different doesn't mean reducing memory usage is a bad thing for all.

First world perspective. Any globally-oriented FOSS app like Chromium or Firefox should work to reduce hardware requirements as much as possible to provide best possible performance on devices like Raspberry Pie and MIT's $100 laptop [1].

And even in the first world there are a lot of miserly corporations that penny pinch on things like RAM.

If software that wants to target either of those markets can be made more hardware efficient, it should be.

[1] http://one.laptop.org/

It's hard to both target the leading edge of the market and also serve minimal-spec hardware targets. Seems like it would make more sense to have a different branch for those targets, being done by someone with a strong business interest in making it work.

That leads to a bad approach when building applications. Not everyone has or wants oodles of RAM.I don't use much RAM on my laptop just because it uses too much power.

The price of RAM is not the only (or main) barrier to getting more memory. My previous work desktop had 2GB of RAM. Getting it upgraded (from 1GB) took three months (after the upgrade had been approved by the budget holder).

I was fortunate to get a new work PC recently which has 4GB of RAM. Getting it upgraded (even if I bought the memory myself) would likely take another three months of requests and I suspect would be limited to a maximum of 8GB anyway.

Using as much RAM is possible is right for a task which is a primary task. If all you're doing is browsing, give your browser all the RAM you have.

Sometimes people run other heavy programs alongside a browser: games, IDEs, etc. These tools also assume that RAM is cheap and use lots of it.

At that situation an extension like OneTab becomes very handy.

I think you might be missing the point here.

You are right that using RAM is preferable to using disk; however, nobody is talking about disks here.

Using a lot of RAM is bad because it makes you slow: pretty much everything, from paging to hash table lookups, works faster the lesser data there is to process.

Minimizing RAM usage is a very worthwhile goal if you want to be faster.

I disagree: a larger memory footprint means that a smaller fraction of the data is cached.

Since caches are up to 100 times faster, it does impact the reactivity of your program, in fact quite a lot.

This is true, but it isn't relevant for embedded devices (my ARM Chromebook has only 2 GB RAM), and DDR2 RAM isn't as cheap as DDR3 RAM (my motherboard is from 2007/2008).

The thing is, unused RAM gets used as disk cache, which helps performance.

Also, good luck figuring out how much is "as much RAM as possible without having to swap out".

i agree.

this is the logic of someone willing to adapt to the environment around him. While the best solution would be more efficient programming, consumers are best served to max out their RAM and work with what they're given.

    > this is the logic of someone willing to adapt to the environment around him.
How is this true? OP is saying devs should dump their app into memory and that devs need to adapt to OP's limitless RAM.

You work for Adobe right?

This is the equivalent of closing all tabs, with the added bonus of having a list of what you just closed.

I refuse to compromise on functionality because Chrome can't get its memory deal together.

I wouldn't be too quick to blame Chrome. What if each open background tab is running a computation/upload that requires the DOM? What if you're listening to music in the background? Point is, Chrome can't just arbitrarily decide to pause execution and free up memory for background tabs.

Me, I'm a documentation-holic. I need to have all the references for whatever project I'm working on a single click away. Sometimes that will be working with a very specific library, so there's no point in replacing my entire bookmarks bar with all the documentation links for that. I'd normally just leave everything in tabs, and when I run out of memory when I need to launch a memory-heavy app, I'd go to Chrome's Task Manager and kill those tabs. So this is a godsend for me.

There are very few cases where I actually want tabs running in the background, and I'd be happy to add those cases to a whitelist in exchange for Chrome not eating my computer.

But as long as no browser does that, OP's option looks like a huge timesaver for me.

But you're a power user, most users wouldn't want the hassle of adding sites to a whitelist.

If something like that was implemented, I would hope that it would be turned off by default and hidden away under the "here be dragons" section of Chrome's settings.

Depends on the interface. An item in the wrench menu saying "run page in background" would be easy enough for anyone.

Chrome actually already has this built in, too. If you close your window, you'll get a browsable "x tabs" entry in your browsing history. An additional 20-30 MB of memory could be saved by not installing this extension.

Yes but if you forget to open them all up, Chrome will lose that grouping in short order. Which has bitten me more times than I can count.

True, but this extension will help you distinguish between the tabs you want to close forever and the tabs you want to return to later.

So do bookmarks. And this overlap becomes obvious as people inevitably ask for Chrome or OneTab to allow them to cluster tabs by topic/project -- because a linear scan is never going to 'work' for people who leave enough tabs open that it becomes a 'problem'.

The underlying problem here is workflow.

People are leaving tabs open as a reminder of things to which they intend to return. (Regardless of whether they will or not; that's another discussion.) And they're not bookmarking, because bookmarking begs organizational overhead, which leads to its own mess. (neither tags nor folders are great or sufficient)

And who knows if a bookmark will still point to the content you intended, when you finally get back to it?

So the problem is ultimately that bookmarking is broken, both for quick reference and longer-term storage. So why not fix that?

Why not a system where bookmarking a site saves a copy to a (cloud-stored) cache. [1] And then searches can be done on the content in that cache. And hits can be served both from the cache, and a simultaneously downloaded 'live' result, available with a toggle. [2]

So that one can bookmark a brag-post about a neat jquery-enabled dropdown list and not have to worry about categorizing it, nor whether or not it will be there in a year, and be confident that they can refer to it again with a simple search of any of the key words that occur to them. [3]

[1] Because one can never know what will happen to content online (changes, broken links, takedowns, etc) and doing a federated search across thousands of bookmarked sites looking for 'jquery dropdown' is going to be a nightmare.

[2] Room here for a great feature of non-trivial difficulty: change-detection and display of diffs (if any) rendered in-line.

[3] Or even searching by meta-data such as date-of-bookmark, location or source-device. "That thing I was reading on my phone last spring, when I was stuck in Chicago on business..." can be surprisingly useful when searching.

Thinking on this more, the cloud-stored cache would wind up eventually being a subset of google's whole-internet-database. From which you could run a pretty awesome search service.

Because it wouldn't consist of randomly spidered or submitted noise. It would only be things explicitly identified as useful or interesting.

And you could rank by how many people bookmarked it, when the bookmarks happened, who they are, etc -- alongside already-useful PageRank attributes.

It'd be like +1 data, but the +1 would have meaning behind it.

Until the SEO optimizers and bot nets themselves start bookmarking their own spammy noise in this cache too. Then we're back to the usual arms race of trying to identify quality content and providers pointing to other quality content and providers while all the junk vendors are trying to masquerade as quality.

Is there a lot of SEO that relies on 'like' or '+1' spam? Because that's the more apt comparison. Particularly when you consider the implementation of even a trivial 'karma' system.

The very creation of a network of mannequins would seem to run counter to the big goal of most SEO (traffic, now) as the mannequins would require months-to-years of seemingly-valid traffic of build-up to become relevant and then a very slow-and-cautious release of bookmarks to the desired spam to even attempt to avoid detection and thus nullification of all the preceding effort.

And the user-expectation of such a search would be heavily weighted to prior personal activity [1]. So even if mannequins were successfully pumping bookmarks to promote some site that just scraped stack-exchange, if you and I were bookmarking stack-exchange, we should always get the real links bubbling to the top.

[1] Yes, this would raise a lot of the same "echo chamber" concerns that people have with Google search, but if it matches the user expectation, I don't see a problem with it.

In passing, one reason bookmarking is broken is that "infinite pages" usually don't return you to where you were, as they should, but to the top of the page.

"Infinite pages" are also breaking search. Google finds a hit but you die of boredom before you can actually scroll down that far....


1. I bookmark lots of sites but rarely go back to them (mainly because it's hard to find what I'm looking for)

2. Sometimes I spend ages looking through my history to find something I remember seeing but didn't bookmark

3. I leave dozens of tabs open because I think I'm going to refer back to them but 50% of the time never do. The order and which window they were grouped with is info I need for context.

So I want -

1. a full-text search of history or bookmarks (I haven't decided which)

2. someway to really quickly convert my open tabs to history/bookmarks

3. A psychic computer that knows when I meant to bookmark something ;-)

I know some extensions can help with this but I've never found the ideal one yet. Suggestions appreciated.

Tracking history would bound right into the 'creepy' range of data collection IMO. But if you were fine with that, it's not hard to imagine such a solution tracking how much time you spent on a given page and using that to make an educated guess that you 'meant' to bookmark it. Or at least weight search results accordingly.

Though the logistics of cloud-storing every single page every user visits would quickly become non-trivial.

And your want #2 seems like a simple UI task. IE already has/had a "bookmark all open tabs"-style menu option -- and I thought the others did too, but I'm not seeing it at the moment.

It's only creepy if it's retained or used against my wishes. In a fantasy world of free data storage, the ability to have a complete history of my life and an ability to search it instantly is incredibly useful. And yes - incredibly dangerous but I'd like the option.

I was looking into this problem lately, the two solutions that come close to what you are describing, from what I found are:

https://kippt.com http://pinboard.in

Pinboard already has archiving, Kippt archiving is in beta.

Still, there's room for improvement.

Fairly certain this is called Evernote :)

I like it. Was actually looking for something like this.

It should be noted that Chrome has a built-in "Bookmark All Tabs" button which will bookmark all tabs in the window into a folder... This extension doesn't seem to add any functionality on top of that.

I used to do that sometimes, but it suffered from the "out of sight, out of mind" problem.

I sorely miss a "save all open tabs into one bookmark file".

End of the day: save it to your project folder where all other project files live. Later when you work on the project again: double click to reopen all your tabs.

"Bookmark All Tabs" is nearly there, but I also tend to forget about it if I don't see it.

This extension just adds a new workflow option.

For instance, your workflow doesn't work for me because "bookmark" in my life pretty much means "lose this page in my junk drawer of pages that I'll probably never read again, but I might if I'm ever stranded on an island with nothing but my cached bookmarks."

So I have a completely different workflow that you'd probably find equally extraneous, but it works for me.

Agreed. There is no bonus here. Now if you can hot switch between tabs, or rather use some key shortcuts to better manage the switching, that would bee good.

On a Mac, cmd-1 or cmd-2 or cmd-3 or cmd-n jumps to the 1st, 2nd, 3rd, nth tab.

Compromise on functionality? Too many tabs is a usability problem in Chrome. This just provides additional functionality.

Firefox seems to be no better: http://www.arewesmallyet.com/

You just link to a graph showing the sizes of the Firefox binary on various platforms across different versions. It has nothing to do with RAM.

Firefox definitely wins out in memory with more tabs because Chrome's process-per-tab model accumulates overhead for every process, while Firefox's tabs are more lean.

Thats alright. A single chrome tab is regularly >150MiB, and thats for plain sites!

(edit: this seems to measure the size of the installer binary. I think you wanted to link https://areweslimyet.com/ which shows Firefox using <512MiB with 30 tabs for popular websites open)

Yes, you are right. That's the one I was aiming for. Need more coffee...

OneTab developer here: thanks for all your suggestions, I'll be working on them :)

A few FAQs:

1. The OneTab tab persists even if you close your web browser. 2. If you ever close your OneTab tab, this doesn't lose your tabs. You can always get it back by clicking the blue extension icon. 3. Your tabs are never sent to our servers unless you press the button to 'share as a web page'.

Love it. Just used it to conveniently share a web page of 76+ freely available newspaper archives with fellow researchers who are helping me with a project. This is solving an immediate problem for me. I love it. Thanks!

Thanks a lot for this! Just wanted to point out something and maybe make a suggestion:

I had six windows open each with some tabs related to a specific task. Used OneTab on one window and then tried to use it on another and it looks like the window just closed. Took me a minute to release the OneTab tab was on another window and another to find the right window. Not sure if this needs to be fixed or anything but maybe allowing a OneTab tab on each open window would be less confusing.

As for the suggestion, it would be nice to be able to give each tab group a name instead of just showing the number of tabs. Could be useful on the shared web page as well.

Thanks again!

In what scenarios can I lose my list?

What happens if I click it, close it's list tab, open some new tabs and click it again? Does the old list get overwritten? Is there any way to get it back?

You will never lose your list. If you store multiple sets of tabs, they will appear as "tab groups" in OneTab.

If you accidentally close your OneTab tab, it will reappear when you click the blue extension icon or when you restart your web browser.

Brilliant! You should mention this on the site, it what I was looking to know.

It's a pushdown stack of consolidated tabs.

Just found a bug.

Opening a new tab by holding Control instead of right click->new tab opens the page, decreases the tab count in that group, but leaves the entry on the page. Fixed with a refresh.

Does it only store the GET information or will it store a POST search request as well?

It stores the URLs of your open tabs, including any GET requests. It does not store POST data.

Installed. This is pretty nice for the people who uses dozens of tabs as temp bookmarks.

A bit of feedback: I was just typing this comment and hit the button, obviously the comment was lost and had to type it again. Would be great if if checked for focused inputs or textareas or something before closing that tab, or that it restores the tabs them with the content.

Another idea I can think of is to "close" all the tabs that are NOT the one you currently are in, or "close" all the tabs on the right of the current one.

Anyway, thanks

Thanks, it's on the to-do :)

For a free product, the copy on their site feels a bit more "salesy" than I'm used to for a free product

Chrome is not my primary browser, so I won't be installing this any time soon, but I thought the copy was really short and sweet, with no fluff. If this was "salesy", I wish more FOSS products were like this one.

I quite like the change - a clear rationale for installing something should be part of more Open Source projects.

I agree. It was the How do you make money? that made the whole page feel a bit.. off.. for me. I think taking it out would make it less confusing.

Not for me. It answered exactly the question I had in mind. I love the effort they put into the "salesy" page. I don't see why "salesy" is inherently bad. It sells well, even if it is free.

The open source and free software community is dominated by programmers. There aren't a lot of designers and there are even fewer sales and marketing people. And it shows in what they release. I found it refreshing to see an exception.

I think that this 95% number is wrong. Likely doesn't take good old shared memory into consideration...


"Measuring memory

If you're measuring memory in a multi-process application like Google Chrome, don't forget to take into account shared memory. If you add the size of each process via the Windows XP task manager, you'll be double counting the shared memory for each process. If there are a large number of processes, double-counting can account for 30-40% extra memory size."

Edit: This is not meant to sound discouraging to the developer; I just suspect he solved the wrong problem.

I find it very strange that a tool exists to reduce chrome's memory footprint by closing tabs. This does not seem to be the right solution to any problem I can think of.

If memory consumption is what bugs you, maybe you should use a browser that consumes less memory per open tab.

If the number of open tabs is what bugs you, then you are probably using tabs as temporary bookmarks. There should be tools especially for this job. Some sort of "read-it-later" list comes to mind.

"one-tab" looks like some sort of read-it-later list that is labeled as a memory saver. Fascinating.

That's exactly what it is, a read-it-later list. Browsers don't have a good mechanism for that. Not open tabs, which continually consume memory and CPU resources until you get around to them. And not bookmarks either, which are meant for permanent storage, subject to the clunkiness of navigating a folder structure and explicitly performing every add and delete operation.

So in a sense, One-Tab is indeed a memory saver. Not by really reducing Chrome's memory usage, but by plugging the workflow gap that induces users to use Chrome in a way that consumes enormous amounts of memory. (And the selling tactic sure worked, seeing as there's 200 posts on it here in two hours.)

I use a tool like session buddy for example. I primarily use it when I want to organize/links and make the group quickly accessible.. something most bookmarking programs that don't do right. My immediate use case is, OneTab helps reduce the day to day clutter. I'll have my same browser open for weeks at a time, and just makes it easier to manage from day to day.

You can make the same argument. OneTab is a partial solution whereas using another browser which consumes less memory per open tab isn't a solution at all if you want to use Chrome's features.

Oh hey! I built something similar a while ago, for somewhat similar reasons: "Pause Tabs" (https://chrome.google.com/webstore/detail/pause-tabs/gldljdh...).

The use-case is slightly different, though--instead of being an en-masse "dump these things out of my sight" button, I basically wanted a single-page "bookmark" that works more like the real kind you use in books, where the two fundamental operations are:

> "Open, remove the bookmark, and restore reading to previous position, atomically"; and

> "Save position, create bookmark, and put away for later, atomically".

If you want, though, it can still give you the same effect of "hammer the button to 'put away' a window's worth of tabs."

On the other hand, the bookmarks Pause Tabs creates [despite just being regular bookmarks] preserve of your vertical-scroll position on the page, which is kind of nice for long documents. I wonder why that isn't a "built-in thing bookmarks are just expected to do", actually.

I absolutely fail to see the point here. Why should I use this? Is this again one of these instances where, magically, free RAM is good?

30 tabs opened simultaneously (with AdBlock, Ghostery and Disconnect), alongside Thunderbird, Emacs (+daemon) and a full DE run up to 1.8GiB of RAM used on my machine, which is everything but fast, new, or fancy. Consequently, I still have 2GB of RAM remaining that are not directly needed (and hence used for caching by the OS).

I'm writing all this from a Core2Duo laptop, so really, when exactly does any computer bought at the same time (or since) have actual problems of running out of memory? I have not experienced such problems in years on anything other than a Raspberry Pi. Is this a problem that really needs solving?

Feel free to point me to use cases where this is essential or useful, for I cannot see any.

Well, yay for you. As I posted in the Firefox thread, when I checked this morning I had 16 tabs open using 2.6GiB of memory, and that without the using websites like Facebook and Twitter that I've found to be memory pigs in the past. I use AdBlock, maybe Ghostery and Disconnect are magic?

In general, my machine has 8GiB of RAM and low-memory thrashing / out-of-memory errors are pretty much a daily occurrence. They're certainly not all Chrome's fault, but I don't think it is helping matters any.

My post was in no way meant to be boasting, quite the contrary, it assumes that my computer is on the lower end of what will be widely used, especially here on HN.

> In general, my machine has 8GiB of RAM and low-memory thrashing / out-of-memory errors are pretty much a daily occurrence. They're certainly not all Chrome's fault, but I don't think it is helping matters any.

I suppose the choice of operating systems has to do with this as well, since a browser can only do so much if the underlying OS handles memory allocation in a less than ideal way. This at least sounds like it might a problem that is situated on a much lower level than your browser dealing with multiple tabs.

"...when exactly does any computer bought at the same time (or since) have actual problems of running out of memory?"

Ah yes, I remember the days being a dev that didn't use VMs. It kinda sucked as a development environment that said: no easy way to test software on different OSes locally, no easy way to try other software which you don't necessarily trust in a confined environment (to see if it may be worth using, in which case you'd look into the trust issue more closely), etc.

If you're a dev and have "enough RAM" you're probably not trying hard enough ; )

VMs tend to use quite a lot of memory and tend to be very useful for knowledgable devs.

You asked and seemed so cocksure so these were my 2 cents...

So, in that case, when you are developing, you are actively using multiple VMs and 30++ tabs? Maybe I am just bad at multitasking, but while I do see the point of the VMs, I don't see how they fundamentally change the overall picture.

I don't doubt that you can manage to fill an arbitrary amount of RAM running multiple browsers, VMs and other programs, however, I do fail to see how that in turn enhances (or constricts) productivity. Multiple VMs? Sure. Multiple browsers? Sure. Multiple VMs and browsers? Sure. Multiple VMs, browsers and multiple dozen tabs? I don't see a use case here.

If you have multiple multi-gigabyte VMs running, chances are its not your brower's RAM usage that is hamstringing you by using all available RAM.

edit: I'm not saying I don't see a use case were theoretically there are tangible limits on RAM which become a problem, but to me, it remains exactly that: theoretical.

Allow a way to whitelist domains that should not be closed (like gmail)

Thanks for the feedback. At the moment, one way to achieve this is to "pin" the gmail tab. OneTab will not close any pinned tabs.

From what I understand, this calls out to their servers and they display a page?

Would it not be more secure and safer to render this on some sort of local page?

Don't really see the need for this information to go to a third party server.

(OneTab developer here): None of your tabs are sent to a third party server. It's all stored in HTML5 local storage.

The only way the one-tab servers know about your tabs is if you click to 'share as a web page', which transmits your tabs to our servers to create a web page you can share with others.

Your website talks about which information is not sent to OneTab.

Which information is sent to OneTab?

The OneTab servers are never accessed unless you click the "share as a web page" button. We don't know what tabs you have open, or what tabs you have put in your OneTab list.

Thanks for the clarification, I should read more carefully.


I think this is a great idea, however I think you can make less ambiguous if you don't say "will not share". I think you are better saying...."will not transmit any information to our server". A lot of services don't intend to "share" things that are uploaded to their servers. Much easier decision to download/install if you unequivocally state that nothing will ever be Transmitted to the server. I personally am hesitant to install this just because it has the capability for me to accidentally upload my private info if I click the wrong setting.

Read the Privacy section:

> Your tab URLs are never transmitted or disclosed to either the OneTab developers or any other party, and icons for tab URL domains are generated by Google. The only exception to this is if you intentionally click on our 'share as a web page' feature that allows you to upload your list of tabs into a web page in order to share them with others. Tabs are never shared unless you specifically use the 'share as a web page' button.

Isn't 95% reduction claim a bit too bold? It is widely known that standard measurement of Google Chrome's memory consumption with task manager is wrong because it doesn't take data sharing between processes into consideration. How was the 95% figure produced?

He has 21 tabs opened, by reducing it to 1 tab, he has saved 20/21 lots of memory, ~~ 95% saved.

Assumptions: each tab uses same memory; no shared memory (or shared memory equally divided between all tabs), every user has around 20 tabs open given the first 2 assumptions hold true.

To me, the 95% is a magic number.

This is the same question I have. Memory usage is notoriously tricky to measure because of shared libraries and the like. So a simple figure like 95% doesn't end up meaning much at the end of the day. chrome://memory may be a good place to start.

Ninja edit: note the disclaimer at the bottom of chrome://memory:

    (Note: Due to memory sharing between processes, 
    summing memory usage does not give total memory usage.)


Neat. Could you add some sort of way for the user to choose whether they want to restore into the current window, instead of a new window? Cheers :)

Yeah, I was wondering about this. Honestly feels like a design flaw. When I hit "restore all" I expected the tabs to replace the OneTab... tab. Other than that, and knowing that it's all in HTML5 localStorage, this will be replacing PanicButton!

I've only just realised this is built into chrome natively:

Right click on any tab in a window and choose "Bookmark all tabs..." from the bottom of the menu. Or press CTRL+SHIFT+D.

This has the following advantages over OneTab:

1. You can add new bookmarks to the list at any time.

2. Bookmarks can be synced with google sync.

3. You can name the folder so you know what the list is.

4. Bookmarks are searchable in the omnibar.

5. You can open a single bookmark without it being removed from the list. If you don't want to keep it, just click the star in the address bar and then the remove link.

6. When right-clicking a folder there's an option to open all bookmarks in an incognito window.

I can't believe I've overlooked it for so long! I don't need any session management extensions now.

I really like the functionality of OneTab, as I'm someone who frequently has 3 concurrent Chrome windows, each with dozens of running tabs.

The one thing that's going to prevent me from using this regularly, though, is that once you reopen a tab, there's no back state. I find that some of the most valuable information that I can get from a webpage isn't necessarily the page itself, it's the process leading up to the page.

That being said, this is an absolutely beautiful Chrome extension and I commend the developers on what they've accomplished.

I recently found TabMemFree https://chrome.google.com/webstore/detail/tabmemfree/pdanboc...

It is similar to OneTab but keeps the tab open (with Flavicon and Name) but just "parks" it after a time period. It saves back states.

As a heavy open tab users (we have a support group I've heard) I like it. Working with 4 GB of Ram is made much easier!

If you have a tab that you don't want "parked" after 15 minutes (configurable) then you just pin it. So Gmail and Pandora get pinned. The rest park themselves and reload on when I select them.

I did try this one for some time before The great suspender (https://github.com/deanoemcke/thegreatsuspender/).

IMO the great suspender is better at solving this problem for me because (recalling from memory my experience with tabmemfree couple of weeks back):

1. The great suspender retains a visual snapshot of the page (along with title, favicon etc) thus helping me jog my memory about what the tab is about.

2. It uses a internal chrome:// URL to park the suspended tabs instead of using an external URL (http://). I am not saying that the developer of tabmemfree could be spying on the URLs being parked. But I am just not comfortable with the idea of parking my tabs using an external http service.

3. An explicit text format white list rather than relying on pinned tabs (which makes me lose the tab position, title etc).

4. Explicit option to suspend a tab or group of tabs (and bring them out of suspension) - instead of just relying on time-outs to suspend a tab.

Maybe Im not a "power user" or something, because I rarely have more than 3-5 tabs open at any given moment, and 2 of those are my email accounts. We have searchable browser history, and it seems like that would be a horrible workflow to have anymore than say 10 tabs open at any given time. They get so small you cant see them and how would you find what you want? ctrl + tab? Im genuinely curious as to how someone works this way.

I regularly get up to about 30-40 tabs. I'm a spacial thinker, so I can remember where the content that I want is relative to it's position in the tab bar (+- about 2 tabs usually), so having the icons disappear doesn't bother me. I just compulsively ctrl-click things to open them in new tabs, in case I want both the new content and the old content.

Multiple windows

There are better extensions out there solving this problem. One I use is https://github.com/deanoemcke/thegreatsuspender/

It frees memory by taking a snapshot of the page and loading the image (instead of the DOM). This frees up a great amount of memory. It also persists the tab position, title, favicon (which are essential to me in remembering information about the tab). Clicking (or pressing Enter, F5 ..) on the image preview loads the page.

You can set tabs to be automatically suspended after a predefined amount of time. You can set tabs to be restored automatically on focus (unfortunately no time delay option here). You can white-list domains from auto-suspension.

For Chrome v25 users: The extension is having some stability issues which causes Chrome to crash (https://github.com/deanoemcke/thegreatsuspender/issues/30). But if you are using any version before that, it should work fine. It had become an indispensable tool for a tab hoarder like me. Waiting for the dev to fix the current issue with Chrome v25.

Looks great and I would definitely put it to use, but on Ubuntu with Chrome 22.0.1229.94, I get "Installation failed either due to cancelling the dialog box or because you already have the extension installed" when installing from your web page. When I try to do it from the web store, I get "There was a problem adding the item to Chrome. Please refresh the page and try again".

Same error happening here along with a Butter bar stating "Manifest file is invalid." in Mac OS X 10.8.2 and Chrome 25.0.1364.160.

We've been looking at this, apparently this happens when an extension has just been released and is "propagating between servers".

If the extension install is not working for you, it should start working later today once Google's webstore servers have updated

I had this issue and literally 10 seconds later I tried again and it worked fine

I've tried several times now and I'm still getting "Manifest file is invalid".

As someone that lives with 40 tabs open in any 1 window at a time, with at least 2 windows open....THANK YOU.

I love this. I don't get why people are being so negative on this thread. Also that discussion about the cost of RAM, is pointless. Who cares how much RAM/Diskspace costs. That doesn't mean we should be inefficient with our resources, because we can simply buy more for cheap. That's an excuse that lazy developers use.

That being said, I would love to know a few things about this extension (if the creators are here):

- Where is this list stored? On my HDD? In my Gmail Account?

- I would love to backup the list, so it doesn't get lost. I am accustomed to using Chrome's history, but that gets wonky from time to time and I have been in many situations where I expect the full history to be there, but it isn't for one reason or another.

- Will my One Tab list be there if I reset my machine? I assume so, but what if I close my `One Tab` tab?

Other than that...THANK YOU...for this WONDERFUL extension. This will easily be my most used extension - hands down.

It's stored on your PC in the window.localstorage for that extension. I used the Extension Gallery and Web Store Inspector to look at the code without installing the extension:


It might be easier just to save them as bookmarks. Right click on any tab in the tab bar and choose "Bookmark all tabs" or press CTRL+SHIFT+D. Use the Split Tabs extension to break them up into local groups first:


I've talked more about the benefits of using just bookmarks here:


If this appeals to you, I have 2 words: Tab Wrangler.

As a compulsive tab hoarder, I've been using Tab Wrangler for this same purpose for over a year and I believe its approach is far superior: it just closes tabs that you ahven't visited for a period of time. If you haven't been to a tab in ~20 minutes, likely you don't need it on hand. I can't know when I'm done with a tab until I've moved onto my next task, which means I'm no longer thinking about that tab.

Also, you can lock tabs, have a minimum number of tabs (I set mine to 5) and easily list any auto-closed tabs so you don't lose anything, though I find myself only needing to look through that list once or twice a week.

Anyway, Tab Wrangler absolutely changed my life.

Not my project, just think it's awesome: https://chrome.google.com/webstore/detail/tab-wrangler/egnjh...

I don't care so much about the memory, but this reminds me of how chrome doesn't have a way of vertically showing the tabs. know that firefox when I use it supports that.

I saw support for vertical tabs in Chrome that can be turned on, but I think that is experimental. The people that suffer from the memory problems are the people who really just need better tab management features. Maybe this is something for power-users that just needs to be handled with extensions.

Also being able to suspend and resume sessions better is a good idea, and this may help with. When coding on a particular thing, I'll have most of the tabs open that I need. When I get back into it it's just a storm of CMND-T and searching for the references I was using. Sounds like this could help with that.

Super useful, thanks! I was afraid that this would close my pinned tabs, but seems like you paid good attention to this detail. A request: it would be nice to be able to right click and open the one-tab interface/tab without actually having to save all tabs.

Aww, history goes away. That might be a problem...

This and lost input in text-boxes is what it lacks to become useful. Also localStorage is limited and this limit cannot be raised, so someone with enormous amount of memory could prove that OneTab is not reliable, contrary to how it is advertised. To fix that it has to use indexedDB and require unlimitedStorage. (Well, we still require enough free space on disk, but it's the same with localStorage.)

Anyone willing to record screencast how OneTab fails at handling million tabs? :)

My big problem with Chrome tabs is that over time, they start consuming all of my CPU resources and I have to go in and kill a bunch of 'Chrome Renderer' processes to get the load back down to a reasonable level.

This also happens if Chrome crashes / I quit or force-quit out of Chrome and then restart. I don't really want it to open however many tabs I had open, I just want to be able to see what tabs were open. I would be happy with it creating the tabs with the title at the top but not loading it. Short of that, One-Tab is a decent way to help with this issue.

Save 99% memory in google chrome by bookmarking all tabs and closing Chrome!

where did the 1% go?

Some long-running hidden chromium process that doesn't seem to die when you quit or force-quit chrome on mountain lion. You have to go into activity monitor to kill it. This never happened in Snow Leopard.

Could it be that you have "Continue running background apps when Google Chrome is closed" setting to be on?

"This is only applicable to Google Chrome browser on Windows and Linux." (source: https://support.google.com/chrome/bin/answer.py?hl=en&an...)

the mystery continues ...

Interesting extension. I think you need to address a couple of things:

1. Try to maintain state for all the content in the controls. For instance, if I'm on JSONlint.com with some complex JSON in there, I'd like for that to be there when I re-open the tab. So, simply storing historic reference and reloading the pages doesn't add so much value for my use-case.

2. Can you do the same with other extensions? I have a ton of things running and it would be nice to disable all on-demand via one-click. My memory consumption was still over a GB with all the running extensions.

Thanks & Good luck!!

Would be nice if this would be semi-integrated natively into Chrome, almost like the implementation on older Apple devices that can't have as many concurrent web pages open. On my iPad mini for example... if I am reading a few pages and switch back to another one I was looking at 30 minutes ago, it re-loads itself.

So if a tab is dormant for a while, Chrome will throw it away. Then when you recall it, the next day or whatnot, it will re-load it.

For someone who typically has a hundred tabs open at any given moment, that would be a pretty cool feature.

I'm quite surprised of the feedback so far with this. It works well for what's offered. I find myself looking through dribbble or hunting down a problem and need to have a few reference tabs open on occasion but I don't necessarily want them open but I'd like a reference if I needed it again. I would suggest being able to make lists inside the OneTab page and saving those lists as presets if you can't already. That way I can label certain groups "Design inspiration for XYZ" and have those tabs directly related.

OneTab doesn't seem to preserve individual tab browsing history. So if I understand it correctly it really just converts the unpinned tabs to bookmarks and them close the tabs. Am I correct?

In Chrome, you can right-click any tag and choose "Bookmark All Tabs". Occasionally, I do that to save open the tabs if I don't have enough time to read them all. Admittedly, OneTab has a simpler interface and conveniently closes the tabs for you.

See http://screencast.com/t/biqAF65Fdd

Nice idea, but a heads up for anyone trying it out: installing and clicking on the icon closes all your open tabs immediately without warning. Quite a jarring first user experience.

The current implementation doesn't differ much from just closing all of your tabs and reopening them using 'Recently Closed'.

One way you could keep the one-click-to-open functionality of tabs is to keep the tabs in a persistent vertical list of favicons along the side of the screen. One tab could remain open, and clicking another tab, or favicon, could replace the current tab.

Edit: Here's a mockup: http://imgur.com/pfYO7xY. You could have the title show up next to a tab on hover.

I love the simplicity. At the risk of adding complexity, there's this Chrome extension I used to love and use all the time called JoinTabs, that unfortunately started shipping with some nasty malware. It did this very simple thing of collecting all the tabs in all your open windows and putting them in one window. Since OneTab only seems to work on the tabs in a single window, is there any way to combine these useful features?

Nice. I built a similar Chrome extension recently: https://chrome.google.com/webstore/detail/tab-bankrupter/pnd...

Open-sourced here: https://github.com/jsvine/tab-bankrupter

As the name suggests, it's aimed more at the mental — rather than computational — weight of tabs.

Dossier[1] has been doing this for years now. It's not as pretty, but it can manage lists and has a bunch of neat features.

I'm no affiliated with whoever makes it (except as a user, I guess) -- but I did want to bring pre-existing alternatives into the discussion.

[1] https://chrome.google.com/webstore/detail/dossier/hohaaljbjh...

Just yesterday, I was thinking about something similar for Opera. Opera supports tab stacks (which are great), but many often go unused for days, so I thought about implementing a way to convert a tab stack to a simple tab with an overview of the sites that were open in it.

My main problem with this is that you can't order your tabs into groups - the extension may not even make a distinction between regular tabs and pinned tabs.

This is a great start.

I wouldn't mind having a side tray or list of temporary bookmarks that I could easily add to, restore from, or remove. Then I would have 3 or 4 active tabs and about 15 inactive tabs and could swap between them easily.

I know it is possible with shift + cmd + D, as one commenter pointed out, to bookmark all tabs temporarily but that would get cumbersome if you were constantly changing out tabs.

Install isn't a link but a span, so you can't tell what it's doing/where it's going by hovering. Hmmm...Feels REALLY spammy, or is it just me?

The install button has to call the chrome.webstore.install API for instant installation, so if it were a hovered link it would not show anything particularly descriptive.

While I've switched to a box with ample RAM so that this isn't really a concern any more, my old habit was to open up the Chrome task manager, and just kill any tab that I was just holding in place to read later. All the RAM gets freed up, but the tab is still held in place if I close the window. A simple refresh when I actually want to look at the tab would bring it back up.

I want the opposite for Firefox on android - some way to instruct the browser NOT to unload background tabs because I might have been partway through entering data in those and just gone off to another tab to check something I was writing about.

I have 1GB of RAM in my Note and rarely run more than one thing at a time. FF for android seems to have a really aggressive unload policy.

This is a big problem for me in ChromeOS too.

Feature Request: The ability to save and re-load tabs as a labeled set. An array of open tabs is often the result of an intentional workspace. If I could label a saved OneTab as "iOS Development" and have it launch iOS Dev Center, JIRA, bitbucket, and various API/documentation, it would make switching from casual browsing to work mode a breeze.

You're looking for "Session Buddy"[0] available on the Chrome store. This is a more complex OneTab, I've been using it for quite some time as I'm a tab abuser (60+ open tabs). It's great for storing and managing sets of tabs.

[0] www.sessionbuddy.com

Wow, thanks for making my day.

You can Ctrl or Cmd click a set of tabs, and it will restore them without removing them from the OneTab list. Thus you will be able to use OneTab to open sets of frequently accessed tabs.

How about just use Chrome?

1. bookmark all tabs ⇧⌘D

2. in the file dialog create a new folder e.g. "foo"

3. (later) with Bookmarks > foo menu open, select "Open All Bookmarks in New Window"


Nice idea, but for me these are usually temporary bookmarks, and doesn't handle the garbage collection for me nearly as simply.

Thanks for sharing, though!

I was going to say this was pretty neat but within 30 seconds of actually using it, it managed to lose a window full of tabs which I'd had open for a couple days and I can't recall what was in it now so a bit frustrated. I collapsed up 3 windows into one tab, then did expand all on all 3 and one of the windows re-opened with only 1 tab.

I'd rather waste memory than waste network traffic, re-authenticating and hitting servers to check for updated data and restarting audio/video streams.

It makes sense if you are using a machine with limited memory or you want to leave one page open whilst doing something memory intensive, but it by no means is a 'useful' way to casually browse.

I really like this. It's fast, simple and easier to re-view the pages than bookmark all tabs. Thanks!

Very similar to this extension: https://chrome.google.com/webstore/detail/tab-focused/mhdlja... (except the permissions)


Applications are open for YC Winter 2018

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact