Slashdot Mirror


Firefox Memory Leak is a Feature

SenseOfHumor writes "The Firefox memory leak is not a bug. It's a feature! The 'feature' is how the pages are cached in a tabbed environment." From the article: "To improve performance when navigating (studies show that 39% of all page navigations are renavigations to pages visited less than 10 pages ago, usually using the back button), Firefox 1.5 implements a Back-Forward cache that retains the rendered document for the last five session history entries for each tab. This is a lot of data. If you have a lot of tabs, Firefox's memory usage can climb dramatically. It's a trade-off. What you get out of it is faster performance as you navigate the web."

602 comments

  1. Total cached page limit. by Short+Circuit · · Score: 5, Insightful

    So there's a way to limit the number of cached pages per tab, but no way to limit the total number of cached pages, for those of us who have fifteen tabs open?

    Whoops!

    1. Re:Total cached page limit. by Rolan · · Score: 4, Insightful

      Yeah, where can I turn off this "feature"? Or, better yet, why doesn't this "feature" release memory when the tab is closed? Either of those would make me much much happier with Firefox.

      --
      - AMW
    2. Re:Total cached page limit. by bpd1069 · · Score: 5, Informative

      FTFA: "...For those who remain concerned, here's how the feature works. Firefox has a preference browser.sessionhistory.max_total_viewers which by default is set to -1."......If you set this preference to another value, e.g. 25, 25 pages will be cached for every tab. You can set it to 0 to disable the feature, but your page load performance will suffer.

      --
      --
    3. Re:Total cached page limit. by abdulla · · Score: 1

      According to someone else that replied on the site, the bfcache is actually global and shared, so it's _not_ per tab. But they could also be wrong. It would seem ridiculous not to share the cache where possible. Often I find myself with multiple tabs open that share pages in history.

    4. Re:Total cached page limit. by SmartSsa · · Score: 5, Informative

      From the Tips & Tricks page:

      Specify the memory cache usage

              Normally, Firefox determines the memory cache usage dynamically based on the amount of available memory. To specify a specific amount of memory cache, add the following code to your user.js file: // Specify the amount of memory cache: // -1 = determine dynamically (default), 0 = none, n = memory capacity in kilobytes
              user_pref("browser.cache.memory.capacity", 4096);

              To disable the memory cache completely, add the following code: // Disable memory cache:
              user_pref("browser.cache.memory.enable", false);

    5. Re:Total cached page limit. by Short+Circuit · · Score: 2, Insightful

      I wouldn't call completely disabling the feature an optimal solution.

      Me, I'd like to limit it to 25 cached pages, and have the old ones shuffled out as new ones are shuffled in.

    6. Re:Total cached page limit. by Anonymous+Crowhead · · Score: 2, Funny

      I have a little trick I use from time to time with firefox:

      [user@localhost ~]$pkill -9 firefox

      I use it once a day at least.

    7. Re:Total cached page limit. by Anonymous Coward · · Score: 1, Informative

      I'd be curious to know if I'm the only person that doesn't have that preference. I've got a browser.sessionhistory.max_entries, but that's it.

    8. Re:Total cached page limit. by mnmn · · Score: 1

      Or even better limit the amount of memory FF uses. We can place a hard limit (100mb) and even have FF malloc the entire amount from the getgo for speed. It then uses the memory with no collisions or fragmentation while other heavy processes are running, and the other processes wont take a hit when you have 15 tabs open... especially on production solaris and rs6000 machines. (i know i know bad idea).

      --
      "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
    9. Re:Total cached page limit. by Anonymous Coward · · Score: 0
      I too have a little trick:
      [fag@gaylord:~] opera
    10. Re:Total cached page limit. by Michalson · · Score: 2, Interesting

      Thank you thank you thank you (sorry ot no mod points, but you're already up to 5 anyway).

      I browse with a lot of tabs in FireFox, and with FireFox 1.5 the performance when a lot of those tabs are loading has been beyond horrible. Like several seconds just to switch tabs, and then actually trying to scroll...

      If you are feeling generous, perhaps you also know how to shutoff the new tab thumbnail "feature" when you've got images. 16x16 thumbnails of 4000x4000 images are nothing but a waste of CPU time and a visual distraction.

    11. Re:Total cached page limit. by Anonymous Coward · · Score: 0

      Yeah, as soon as I read the story I had to point out that Opera also caches the rendered pages yet still manages a much, much lower overall memory usage (and no massive leaks, either!).

      ND

    12. Re:Total cached page limit. by TWX · · Score: 1

      Yeah, it's ridiculous, but it makes sense given that tabbed browsing evolved from an engine that didn't have it.

      Of course, I don't care for tabs, I like using the windowmanager to keep track of things like that instead of the suite.

      --
      Do not look into laser with remaining eye.
    13. Re:Total cached page limit. by Anonymous Coward · · Score: 0

      How do I run this? -- Running from the addressbar says bad URL.

    14. Re:Total cached page limit. by masklinn · · Score: 2, Interesting

      Sorry? When I'm using Opera I often see it ramping above 150Mb of ram usage, that's equivalent to Firefox' RAM consumption on my machine.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    15. Re:Total cached page limit. by masklinn · · Score: 5, Informative

      1. set browser.sessionhistory.max_total_viewers to "0"
      2. It does (try opening a huge Fark photohop thread, huge as in multiple hundreds of pictures, see Firefox ramp up to 600 or 700Mb ram consumption, close the fark tab, see firefox' ram usage drop dramatically to regular ram usage levels)

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    16. Re:Total cached page limit. by mduell · · Score: 1

      Reread the article.

      Edit: In the comments, Boris and David pointed out that I misread the code, and that this is a global preference so that there are no more than 8 cached pages for the entire session, not per tab. My initial posting had claimed that it was per-tab. Oops!

    17. Re:Total cached page limit. by diegocgteleline.es · · Score: 1

      Or even better: fix the code to not to waste so many mem. Opera does the same and it eats much less memory. Why not store the cache on disk? Disk is much faster than network...

    18. Re:Total cached page limit. by Anonymous Coward · · Score: 5, Informative

      An operating systems class might help you understand why memory usage meters are completely unresponsive in the down direction.

      See here's what happens:
      Firefox allocates memory for a rendered page. You've got 20MB allocated already, all in 3 chunks. None have enough room for the single large allocation it needs so the OS sets aside a new chunk of memory for the firefox process.
      Now it's using say 28MB of memory. And only 22MB of that is used. Well, it does a couple more allocations, some fairly permanent ones, and these get put in the newest block of memory.
      Then you close the tab. Firefox frees the associated memory. The OS changes it tables around for that block to indicate so. But it still has some stuff in that block. So guess what? Firefox' memory usage remains exactly the same.

      The solution? Use a GC system. Some Garbage Collectors (most) actually move objects to condense them in memory. This is one of the things that makes garbage collections noticeable if a lot has happened since the last one (it's gotta move a lot of RAM and change a bunch of links to said RAM). It becomes especially bad when you move into swap space ;).
      The downside? While GC advocates will often amaze you with the fact that malloc is not an atomic operation (it has a lot of work to allocate, more or less depending on the current situation of your memory chunks and the free memory on the system), malloc is still not nearly as costly as a garbage collection cycle. And, free is atomic (at least, TMK all a good implementation does is remove something from a data structure, unless it's the last part in which case it also needs to mark that memory as free).

      So, you see, no matter how few memory leaks firefox has, it still won't drop in RAM usage every time you click close.
      If you want to prove memory leaks in firefox you can. Get yourself a memory debugger (such as valgrind) and run firefox under it. Now, I'll warn you that this is harder than it sounds:
      1.) Memory debuggers are about 100x to 1000x slower than your machine natively.
      2.) Firefox is a script, not a binary, it sets up a bunch of stuff for the binary to run.
      3.) Everything you see on the memory debugger is not necessarily a leak. Some of the leaks aren't even really leaks (it's generally no big deal to leak when you're exitting because the kernel cleans that up for you).
      4.) To get any useful information on the leaks (other than size) you'll need to have compiled with debug symbols and you'll need to have the source code.

      Go ahead, post your list of firefox memory leaks. Then post your list of IE memory leaks. I bet both have some, but neither has anything major. And I bet it takes you a week to find them ;).

    19. Re:Total cached page limit. by toddbu · · Score: 1

      Mod this "+5, Firefox doesn't kill my machine any more". Set the cache at 64MB and all works well. It's scary to see memory grow when loading a large image, only to have it go back to a reasonable level. It's sad that this isn't on by default, since my mom doesn't want to have to mess around with about:config to keep her machine alive.

      --
      If you don't want crime to pay, let the government run it.
    20. Re:Total cached page limit. by Andrewkov · · Score: 3, Informative

      Yep, type about:config in the address bar, then change browser.chrome.image_icons.max_size to 0.

    21. Re:Total cached page limit. by AoT · · Score: 1

      And where do we find this elusive "set browser.sessionhistory.max_total_viewers"?

    22. Re:Total cached page limit. by Anonymous Coward · · Score: 0

      about:config

    23. Re:Total cached page limit. by numark · · Score: 4, Informative

      Type "about:config" (no quotes) into your address bar, then scroll down to the browser.sessionhistory.max_total_viewers setting, double-click on it, then change the number to 0 and hit OK. Any sort of Firefox setting like this is found in about:config.

      --
      Want Slashdot headlines on your site? Try SlashHead
    24. Re:Total cached page limit. by HeroreV · · Score: 1

      Are you seriously suggesting that Firefox should be written in Java? Isn't an interface built with XML and JavaScript slow enough already? I'd rather ad a second gigabyte of memory before I tried upgrading my CPU.

    25. Re:Total cached page limit. by Zanthrox · · Score: 1

      Excellent..Good to see there's a way to turn it off.

      You know..features like this can really get under my skin on occasion. I expect page navigation to require network access. Same goes with file indexing features under windows xp..I expect file searches to take a while. I don't expect (or want the computer periodically waste cycles indexing to provide) google speed searches of the full contents of my hard drive.

      Guess I'm just an old fogie who always likes to know what my computer is doing and why it's consuming memory..

    26. Re:Total cached page limit. by Anonymous Coward · · Score: 0

      I saw no mention of Java in that at all. Java isn't he only lanugage to have Garbage Collection, the notion has been around at least since the 50s with Lisp and probably before that. In order to say for sure, I would have to look it up, like you should have.

    27. Re:Total cached page limit. by afidel · · Score: 5, Informative

      And a detailed explanation of the feature and it's values can be found here.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    28. Re:Total cached page limit. by Edgewize · · Score: 5, Interesting

      You're confusing garbage collection with heap compaction.

      People have written garbage collectors for C++, and they work just fine. But they do not help with fragmentation, which is the problem you're describing. That requires a heap-compacting allocator (aka a "handle" allocator). Many languages with garbage collection also use a heap-compacting allocator. C++ does not, because of a low-level language "feature": pointers, and specifically, pointer arithmetic.

      If an object moves in memory, then people have to be notified that it has moved, or they won't know where to access it. Languages like Java handle this behind-the-scenes; the system library tracks objects for you, and your program never knows (or cares) whre an individual object is.

      C++ allows direct access to system memory, and it tells you precisely where your objects are located. Programmers are then free to do all kinds of things like compute distance to other objects, or convert the location to a number and do arbitrary math operations on it.

      When an object moves, anything that refers to it needs to be updated. Well, good luck figuring that out in a language with pointer arithmetic! The system would need to magically determine whether or not a numeric value was actually a memory locations. And what if a program computed the distance between two objects, and later on used that distance to get from one object to the other? The system has no idea of what can be safely moved, and what has to stay put. So nothing can ever be moved.

      There are workarounds of course -- if you write a program with heap-compaction in mind, then you can use a "handle" system, where every object has an ID. You remember the ID, and to access the object, you ask the system for a temporary memory location. And as soon as you're done, you "forget" the memory location and let the system shuffle things around in memory. The next time you give that ID to the system, you might get back a different memory location, but you were already expecting that so your program doesn't mind.

      But handle allocation is slower, less efficient, and more annoying to use than a traditional fixed-location allocator. You have to start your project with it in mind; retrofitting existing code to use a handle allocator is a giant timesink and prone to conversion errors. And if you don't mind the loss of performance due to using a handle allocator, why are you using C++ in the first place?

    29. Re:Total cached page limit. by HeroreV · · Score: 1

      I know other languages support GC, but Java is the only current commonly-used language to support GC that has good cross-platform support.

    30. Re:Total cached page limit. by kjots · · Score: 3, Funny

      I'd rather ad a second gigabyte of memory before I tried upgrading my CPU.

      Please hand in your geek card. You just failed.

      (For those of you playing at home, the correct answer is "I would rather add a second gigabyte of memory and upgrade my CPU")

    31. Re:Total cached page limit. by Anonymous Coward · · Score: 0

      If you're asking that question, maybe you shouldn't try it. User error n' all, y'know?

    32. Re:Total cached page limit. by Anonymous Coward · · Score: 0

      So, you see, no matter how few memory leaks firefox has, it still won't drop in RAM usage every time you click close.

      Well, that's complete bollucks for a start. There is the free() functions, or delete[] operator you know.

    33. Re:Total cached page limit. by Indras · · Score: 1

      I'd be curious to know if I'm the only person that doesn't have that preference. I've got a browser.sessionhistory.max_entries, but that's it.

      That's okay, when I checked mine, it is currently set to -1??!??

      --
      The speed of time is one second per second.
    34. Re:Total cached page limit. by Anonymous Coward · · Score: 0

      Why not store the cache on disk? Disk is much faster than network...

      Why not store it in memory? RAM is much faster than disk. When you run out it can get swapped to disk...

    35. Re:Total cached page limit. by HeroreV · · Score: 1

      Hah. You got me.

      Alright, I would rather pay for a second gigabyte of memory before I pay for a new CPU. If money wasn't an issue, I'd just buy a new top-of-the-line setup every week or so.

    36. Re:Total cached page limit. by tricore · · Score: 1

      This is really a pretty irrelevent argument. Although you give a find description of the concept of fragmentation, this is not the issue. The memory is being allocated using malloc. In normal program usage (especially on a *nix) tools run, and then terminate. If a program uses a certain amount of memory, it is extremely likely that it will use that much memory again. As a result the "Free" command doesn't free memory in the sense of giving it back to the whole system, it merely gives it back to the pool of memory for that process to use, those pages are still allocated to that process regardless. As result program memory is monotonically increasing. A GC written using malloc would have exactly the same problem, simply that the memory doesn't actually go back to the OS. While there is a very interesting debate to be had between GC's and explicit memory allocation, and many very good reasons why GC's are better in some cases (especially average cases), your backing up the wrong tree here.

    37. Re:Total cached page limit. by k8to · · Score: 1

      I appreciate your highlighting this.

      However my firefox has defaulted this value to 50. I am distrustful of an article which is factually contradicted by local evidence.

      Anyone have any ideas to explain the discrepancy?

      --
      -josh
    38. Re:Total cached page limit. by Doomie · · Score: 1

      It could be a Firefox 1.5-only feature. I'm running 1.0.7 and I only have browser.sessionhistory.max_entries, too.

      --
      Doomie
    39. Re:Total cached page limit. by Digz · · Score: 1

      Methinks you're looking at browser.sessionhistory.max_entries, which is 50. browser.sessionhistory.max_total_viewers was -1 here.

      --
      SYS 64738
    40. Re:Total cached page limit. by gameboyguy13 · · Score: 1

      Not for laptops.

    41. Re:Total cached page limit. by jp10558 · · Score: 1

      I know, to some extent, using a large amount of RAM is basically part of the whole fast back system. Opera defaults to using ~ 30% of physical RAM for that.

      Now, if FF is growing to the point it's crashing machines due to eating up the full pagefile -that's a memory leak.

      But neither browser is going to immediately release the memory from a tab when you close it (well, at least Opera doesn't - so it can do the undo close tab feature).

      All that said, IME, Opera does not slow down my PC when eating 300MB of RAM in virtual memory, as it's working set is always ~ 70MB.

      The other thing is are people quoting Physical RAM use, or virtual memory use... These are usually not the same on Windows.

      --
      Opera, Proxomitron-Grypen,GPG 0x0A1C6EE3
    42. Re:Total cached page limit. by Tony+Hoyle · · Score: 2, Interesting

      You use double-pointers rather than handles. No need to notify anyone.

      I used to use this years ago on machines like the archimedes that had little memory. In a modern paged system it's a nearly useless technique - the most you'll lose is a single page even if there are large 'gaps' in the virtual address space.

    43. Re:Total cached page limit. by natmaster · · Score: 1
      Edit: In the comments, Boris and David pointed out that I misread the code, and that this is a global preference so that there are no more than 8 cached pages for the entire session, not per tab. My initial posting had claimed that it was per-tab. Oops!
    44. Re:Total cached page limit. by Anonymous Coward · · Score: 0

      Wouldn't the browser.sessionhistory.max_entries be a better choice for people to edit? They could still have the feature but limit it to 10 instead of the default 50!?!

    45. Re:Total cached page limit. by skreeech · · Score: 1

      cool, 100 less megs usuage by setting this to zero. Going to see if I notice a difference in surfing, I probabaly won't because anytime I am going "back" it's clicking the index of a forum again making it a new page anyways.

      --
      [20:36] wwwdot/.dotorg
    46. Re:Total cached page limit. by shawngiese · · Score: 1

      Thanks, what a silly feature. I use Firefox a lot but when its memory use gets to 100+ megs I have to essentially restart it to reclaim my memory. It has been really annoying. I guess I fall into the 60% minority of web users that don't use that feature.

    47. Re:Total cached page limit. by Hurricane78 · · Score: 1

      Well, good luck figuring that out in a language with pointer arithmetic! The system would need to magically determine whether or not a numeric value was actually a memory locations.

      Isn't that what a datatype system is for?

      Oh i forgot... C(++) is dynamically typed... how antiquated... ;)

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    48. Re:Total cached page limit. by Hurricane78 · · Score: 1

      Well... then you know why java is slow. EXACTLY because it cares for things like GC and buffer overflows.

      So i think we can both agree that what we need is a programming language that by default has this faetures, but lets you selectively disable it for variables and functions that need it.

      And of course with a less annoying syntax as C++ or Java.
      While we're wishing... how about some super-big-brother of OCaml. somewhat like all the good stuff from Haskell, OCaml, C++, Java, ... (Ruby). But ALL features must be selectively disableable (is that actually a word?;), so we still can get the other good features from C/C++ (speed, low-level freedom)

      I recommend functional compilers as a good starting point because of their simplicity (Haskell for exampel only uses 28000 lines as far as i know...)

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    49. Re:Total cached page limit. by ratatask · · Score: 1
    50. Re:Total cached page limit. by ultranova · · Score: 1

      I'd be curious to know if I'm the only person that doesn't have that preference. I've got a browser.sessionhistory.max_entries, but that's it.

      I have this problem as well. It might be because I'm stillr unning Firefox 1.0, since every newer version crashes randomly and unpredictably, which is very annoying. This version, however, has been rock-solid.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    51. Re:Total cached page limit. by jazir1979 · · Score: 0

      in mozilla 1.7.3 on linux, mine was set to 50. i'm assuming it had a slightly different meaning then, but haven't looked it up.

      --
      What's your GCNSEQNO?
    52. Re:Total cached page limit. by Anonymous Coward · · Score: 2, Interesting

      Programmers are then free to do all kinds of things like compute distance to other objects, or convert the location to a number and do arbitrary math operations on it.

      Actually, neither of these things are guaranteed to work by the C++ standard. Implementations usually make it work, because it's more easy than not and occasionally convenient.

      I think you could do a heap-compacting implementation of C++. Unlike conservative garbage collection, however, you can't do it in a library. Pointers would double in size and become handle-offset pairs, plus an entry in a map for each heap block. Every pointer access would also take a second indirection. As a side benefit, this makes garbage collection and bounds checking a little easier.

      Things like taking the difference of pointers to two objects not in the same array would not work, but C++ doesn't guarantee it anyway. Converting pointers to ints and back wouldn't either, but same deal.

      But the problem is, someone needs to implement it. And that someone needs to also have a compiler that they can modify in terrible, terrible ways. It also would help to be an expert in designing thread-safe, interruptable heap compaction algorithms.

      Now, if you were in a position to do that, would you bolt this on to C++, or would you put that effort into a different language?

    53. Re:Total cached page limit. by jazir1979 · · Score: 1

      woops, mod me -1 idiot, that was .max_entries, as mentioned below. mozilla doesn't have the max_total_viewers property.

      --
      What's your GCNSEQNO?
    54. Re:Total cached page limit. by Pienjo · · Score: 1

      As long as your platform is running Linux/i386? Try running Java on anything that's NOT an intel IA32 or that's NOT running Linux nor Windows. "Good platform support" my arse.

    55. Re:Total cached page limit. by Anonymous Coward · · Score: 1, Interesting

      The point you describe is very misleading. While you are technically correct, it is of no relevance. You need to differentiate between virtual address space and actual used memory. Just because you have pointers pointing to addresses 1 and 4 billion ( hex numbers omitted on purpose ) that does not mean you are using all the memory in between. In this particular case, you are probably only using 2 memory pages which will likely consume only a few bytes. Therefore, the effect you describe is a) not connected to C++ and b) is not the problem with firefox. Opera for example is written in C++ and memory-usage, even with 100+ open tabs with lots of graphics is lower than any other browser i know.

    56. Re:Total cached page limit. by maxwell+demon · · Score: 2, Informative
      C++ does not, because of a low-level language "feature": pointers, and specifically, pointer arithmetic.

      Pointer arithmetic is irrelevant here, because it's undefined behaviour to move a pointer to outside the object through pointer arithmetic (exception: The one-past-end pointer, but that can be easily resolved by just allocating an extra byte at the end).
      Now pointers per se are relevant, because they are usually implemented as direct address of the object it points to. There is nothing in the C++ standard which forces this implementation, but I guess you would upset most low-level developers (e.g. OS or embedded) if you used another implementation. Now the implementation as direct address is problematic because there's no way the compiler could know what is a pointer and what isn't (you could have a normal integer which just happens to match the address of an allocated block; changing that integer on moving the block would of course be fatal).

      However, a standard conforming pointer implementation could also consist of an index into an address table and an offset relative to that address (after all, the x86 protected mode segmented address is exactly that, just at processor level). Since now each access would go through that address table, moving blocks of memory around would be quite easy: You only would have to change that one entry (Ok, in multithreaded programs it would be more complicated because another thread could currently use the address; probably one would have to scan the stored register values of all threads for values matching the address range of the block to move, and don't move the block if it is found). The entries of the table would probably have to be GCed (without compacting, of course).

      Of course that would slow down all memory use, even for programs where this wouldn't have a benefit, so it's unlikely to ever get implemented.

      [Manual implementation through handle]
      And if you don't mind the loss of performance due to using a handle allocator, why are you using C++ in the first place?

      Not every part of a program needs the same performance. Indeed, in the high-level parts of your code it is often viewed as error to use raw pointers at all. Also note that if the handle is implemented the same way as the hypothetical pointer impementation above, but without the offset part (because in high-level code you usually won't use pointer arithmetics), and implement the index into the table just as normal pointer to the table entry, the overhead is just an extra indirection (basically you use **p instead of *p), which for high-level code isn't much of a performance hit. Of course the compaction pass itself costs performance, but you wouldn't do that if you wouldn't consider it worth that performance hit (after all, since you manually implement it, you have complete control over when this compaction pass is done). For freeing the table entries, you have the choice of using any memory management method you want, from explicitly freeing by function call through reference counting up to garbage collection. Of course for all objects managed this way, you should make sure that you can cheaply relocate them.
      --
      The Tao of math: The numbers you can count are not the real numbers.
    57. Re:Total cached page limit. by Anonymous Coward · · Score: 0

      Python, Ruby, PHP (well, with PHP the morons at least tried; can't blame them for being retards with no clue).

    58. Re:Total cached page limit. by Anonymous Coward · · Score: 0

      ben disagrees
      Edit: In the comments, Boris and David pointed out that I misread the code, and that this is a global preference so that there are no more than 8 cached pages for the entire session, not per tab. My initial posting had claimed that it was per-tab. Oops!

    59. Re:Total cached page limit. by k8to · · Score: 1

      You are of course correct. I didn't check the string closely enough since I assumed browser.sessionhistory.max_total_viewers existed, which it does not.

      I presume this is because I am running Firefox 1.0.7.

      Sorry for the noise.

      --
      -josh
    60. Re:Total cached page limit. by Anonymous Coward · · Score: 0
      C++ allows direct access to system memory, and it tells you precisely where your objects are located. Programmers are then free to do all kinds of things like compute distance to other objects, or convert the location to a number and do arbitrary math operations on it.


      This is actually less than correct. Pointer arithmetic is only defined within structs and arrays. You cannot get two pointers from somewhere (say new or malloc) and calculate their distance: the result is unspecified. Worse, if you add the calculated back to the first pointer you cannot expect to get the second pointer back, this operation is undefined behaviour.

      Of course, these dirty tricks happen to work on common implementations and for some unfathomable reason C++ programmers feel compelled to do dirty tricks that provide no benefit and hamper the compilers optimization efforts. Some things will never change.

      BTW, Mac OS classic implemented your "workaround". When you allocate memory you don't get a pointer to it, but a pointer to the pointer. If the system feels like moving the block, it does so and updates the master pointer. However, Mac OS ran on 68000s without MMU. These days, virtual memory is plentiful and real memory doesn't fragment badly, because pages can move around freely. Fragmentation is only a problem in pathological cases, and it doesn't affect large allocations anyway.
    61. Re:Total cached page limit. by Edgewize · · Score: 2, Informative

      I was not necessarily talking about Firefox, just addressing (hah) a misconception in the parent post: fragmentation is not related to garbage collection. I didn't want to get into a lengthy discussion of virtual addressing, page faults, etc. as well ;)

      But you're correct. Thanks to the rise of "smart" binned allocators like dlmalloc, fragmentation is no longer the huge concern that it used to be with (for example) the basic Win32 heap API. Modern allocators are now reasonably smart about reusing best-fit blocks and not leaving tiny holes scattered in your VM pages.

      Anyway, fragmentation is certainly not the primary cause of Firefox's high memory use. I am merely pointing out that my original post's parent had a poor conception of how fragmentation could be dealt with in.

    62. Re:Total cached page limit. by squoozer · · Score: 1

      Thanks for a really interesting discussion. It's not often such well written technical material makes it's way onto /.. As a Java developer though I have read this thread and thanked my lucky stars that I will never ever have to deal with or know anything about these problems.

      --
      I used to have a better sig but it broke.
    63. Re:Total cached page limit. by Edgewize · · Score: 1

      There is a large difference between "C++ as an official specification" and "C++ as most people use it".

      You could probably write a standards-conforming C++ compiler that abstracted pointers in a way that allowed objects to be relocated to new memory. But you could never compile a large application with it, because so few people actually write 100% standards-conforming C++ code. C++ programmers expect to be able to cast their void*'s to size_t's and screw around with them, specifications-be-damned.

      I've seen some positively hideous tricks in shipping applications, like casting pointers to char* to be able to use the low bits and top bit as flags. You'll never be able to erase that from the language, no matter how loudly you scream "undefined behavior" at the programmers.

    64. Re:Total cached page limit. by Anonymous Coward · · Score: 0

      (Anon to avoid karma whoring or any semblence thereof)

      I mean, look at the core Win32 API - specifically, LoadLibrary and GetProcAddress.

      GetProcAddress takes a parameter that could be either an integer (ordinal number), or a string pointer (function name). How does it determine what it is? By comparing the value against 65536 - if it's less, you've got an ordinal number; if it's more, you've got a pointer.

      Good luck fixing the language when the first thing a Win32 programmer learns is an example like that.

    65. Re:Total cached page limit. by Edgewize · · Score: 2, Informative

      A handle can be defined as a double pointer, and the locking operation could just be dereferencing it (assuming a single-threaded model of operation). I was speaking metaphorically about notification, not describing an actual event model ;)

      The technique is still very useful if you have a program that follows one of a few very specific allocation patterns. For example, consider a program that allocates many small blocks at once and then frees a large (but non-consecutive) percentage. The ability to compact the heap lets you regain all the space you lose when your free holes are smaller than your VM page size.

      Will most applications have this problem? Probably not. But the ones that do have it, tend to have it in spades. A handle-based allocation sytem can be a real win in those cases.

    66. Re:Total cached page limit. by Edgewize · · Score: 1

      My pleasure! Believe me, many "senior" C++ programmers have never bothered to understand these issues either ... and while they may be rare in practice, they do come up every now and then, and ignorance is not a defense against unbounded memory usage :)

    67. Re:Total cached page limit. by eMartin · · Score: 1

      Why?

      Do you prefer your RAM to sit there not being used while you wait for pages to reload?

      All I'd ask for is a "flush cache" command, in case it was ever necessarry.

    68. Re:Total cached page limit. by master_p · · Score: 1

      What you say is almost correct:

      1) There are compacting garbage collectors for C++. Actually there is no problem in moving pointers around, since a mark/sweep algorithm also has to track pointers.

      2) C++ garbage collection will never be as optimal as possible without being part of the standard: using type information in the collector (i.e. making the collector precise) will speed up garbage collection tremendously. Without type information, the collector must do wild tricks to find pointers. The C++ compiler is the only entity that knows exactly where global, stack and heap data/pointers are.

      In the company that I work, we had a problem recently in a big MFC multithreaded application (over 120,000 LOC) with memory. We tested the application with Rational Purify and Visual Leak Detector, but we found no memory leaks. It seems the problem was that memory was freed twice: our programmers deleted C++ CWnd objects using 'operator delete', whereas they should have used 'DestroyWindow' instead. But deleting an object caused 'DestroyWindow' to be called, which destroys the C++ object, and recked havoc with the application: random crashes, stack corruption, etc. The problems appeared after long usage (more than 4 hours) of the application, and then they could not be reproduced. We actually spent the last 4 months trying to figure out what was happenning. If we had gargage collection, there would be no problem.

      The fact that C++ does not have garbage collection has costed billions of dollars in the IT industry. I am surprised that Stroustrup and other members of the C++ commitee do not recognize that. There was a discussion in artima.com recently about features of C++ for the next standard, and Stroustrup participated in it: C++ will never have garbage collection (although TR1 has, at last, a smart pointer implementation!). For the shake of few embedded applications that use C++, the rest of us have to suffer. Garbage collection can be optional in C++...go figure why they deny it!

    69. Re:Total cached page limit. by Fred_A · · Score: 1

      Apparently it runs more or less OK in Mac OS.

      I'm with you on the Linux/i86 thing though. On my AMD64 Java has always been a major pain in the butt. During my last major system upgrade I just removed it (running Gentoo).

      If you're running Linux on a non "intel" (broadly speaking) system, such as a Sparc or a PPC or whatever, good luck with getting Java to work...

      --

      May contain traces of nut.
      Made from the freshest electrons.
    70. Re:Total cached page limit. by Mistshadow2k4 · · Score: 2, Insightful

      Thank you. My machine has 512 mb RAM (planning ot upgrade soon) and I multi-task a lot, so when I'm running FF I'm almost running 1 or 2 other programs at the same time. That's why it's very high use of memory becomes a problem. And with a fast connection like I have now, I can't tell that my page load performance is suffering at all.

      But... what they should do is to put this in the regular optios menu instead of about:config. Lots of users don't even know to use about:config. I really like FF but the "we know better than you" attitude of the Moz team is starting to bug me. No, it's my machine and I know what I want to do with it, so I think I just might know better than they do.

      --
      I dream of a better world... one in which chickens can cross roads without their motives being questioned.
    71. Re:Total cached page limit. by Fnord666 · · Score: 1

      This can also be set in the preferences panel on the privacy pane by selecting the cache tab and then specifying the value you want in MB.

      --
      'The tyrant will always find pretext for his tyranny.' - Aesop's Fables
    72. Re:Total cached page limit. by CTachyon · · Score: 1

      In my experience as an admin, random browser crashes have more to do with your video card drivers than with your browser -- at least under Windows. Upgrading video card drivers (keeping in mind the maxim that, sometimes, "upgrades" are released in reverse chronological order) and stress-testing until you find stable ones has a fair shot of fixing the problem.

      --
      Range Voting: preference intensity matters
    73. Re:Total cached page limit. by Randolpho · · Score: 1

      Read the grandparent post. -1 is the default value, presumably implying that there is no maximum number of entries in the session history.

      --
      "Times have not become more violent. They have just become more televised."
      -Marilyn Manson
    74. Re:Total cached page limit. by CastrTroy · · Score: 1

      I don't understand where this is coming from. I use firefox on a daily basis, often with > 10 tabs open at a time. Very rarely does my memory consumption go beyone 100 mb. Granted, even the 60 MB it ususally takes up is a lot for a web browser, i'm not seeing anything close to what everyone else is seeing. I think it has to do with some extension these people are using. I have a few installed, but I don't use adblock. Could that be the culprit? I have flashblock, so most flash stuff doesn't get loaded, could that be it? Either way, I think it's something to do with specific configurations. Not something that's built into the default firefox. Especially with people talking about Firefox taking up 700 MB.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    75. Re:Total cached page limit. by ultranova · · Score: 1

      In my experience as an admin, random browser crashes have more to do with your video card drivers than with your browser -- at least under Windows.

      Seeing how no other program experiences these crashes, including 2D- and 3D games, and that the X-Window system itself and every other program running in it are not affected in any way by these crashes when they happen, and that version 1.0 of Firefox doesn't have this issue, I find it highly unlikely that video card drivers have anything to do with this issue. Especially since I run Linux, not Windows.

      Upgrading video card drivers (keeping in mind the maxim that, sometimes, "upgrades" are released in reverse chronological order) and stress-testing until you find stable ones has a fair shot of fixing the problem.

      As far as I can tell, these are completely stable. Stress-tested with Playstation emulators, 2D games, some Neverwinter Nights areas that ran at 1 FPS, and some Java 3D games. And several 2D games, Morrowind (with Wine) and Xine (video player) as well :).

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    76. Re:Total cached page limit. by Bert64 · · Score: 1

      How about systems with NFS mounted filesystems? The network might be the disk!

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    77. Re:Total cached page limit. by Anonymous Coward · · Score: 0

      > That requires a heap-compacting allocator (aka a "handle" allocator).

      Modern compacting allocators do not use handles.

      Sun's Java implementation switched to handle-less collection in 1.2.x series (Exact VM):

      http://research.sun.com/features/tenyears/volcd/pa pers/heller.htm

      Sun's current Java runtime (HotSpot) uses handle-less collection:

      http://java.sun.com/products/hotspot/docs/whitepap er/Java_HotSpot_WP_Final_4_30_01.html#pgfId=108223 8

    78. Re:Total cached page limit. by Disavian · · Score: 1

      On the contrary! Someone made a .Net runtime for linux, so it's technically cross-platform now :)

    79. Re:Total cached page limit. by manno · · Score: 1

      Oh come on just a mod 2 funny?
      this is easily 3 territory, and judging by what's usualy called funny around here it's easily a 5

    80. Re:Total cached page limit. by luckystuff · · Score: 2, Interesting

      wow. first time in a long while I have read something /.'d and put it to *immediate* use. congrats.

    81. Re:Total cached page limit. by Anonymous Coward · · Score: 0

      RTFA and STFU

    82. Re:Total cached page limit. by fantom2000 · · Score: 1

      New patch available at http://www.opera.com/

    83. Re:Total cached page limit. by chachacha · · Score: 1
      C++ .Net does use the "handle" system you describe. Of course C++ .Net is not C++, but I digress. In C++ .Net the programmer has the option of pinning a memory address, so that when the heap-compactor tries to move the object in memory it cannot do so. In this way one can continue to use "unsafe" pointer-arithmetic alongside .Net "managed" objects.

      See "Mixing Managed and Unmanaged Code" in http://msdn.microsoft.com/msdnmag/issues/01/07/vsn et/

      --
      I do like programming things that work super quickly, especially when they work super quickly, super quickly.
    84. Re:Total cached page limit. by jez9999 · · Score: 1

      It's sad that this isn't on by default, since my mom doesn't want to have to mess around with about:config to keep her machine alive.

      Yes. How about this for an idea - a slider in Firefox advanced options with 'Memory usage' or one end and 'Performance' on the other? It could have 5 positions and default to the middle one, and each time you moved it it would modify prefs such as these accordingly? I might even submit an RFE for it. It'll probably get dismissed though; Ben the moron (I'm sorry, I think he really is sometimes) will think it's too difficult for plebs to understand. *sigh*

    85. Re:Total cached page limit. by ZarkOmicron · · Score: 1

      This behavior is OS-dependant. For example, in modern versions of Linux applications do return memory to the OS.

    86. Re:Total cached page limit. by jgrahn · · Score: 1
      In the company that I work, we had a problem recently in a big MFC multithreaded application [...] our programmers deleted C++ CWnd objects using 'operator delete', whereas they should have used 'DestroyWindow' insteadon (over 120,000 LOC) with memory. [...] The fact that C++ does not have garbage collection has costed billions of dollars in the IT industry.

      And doing big projects in MFC has cost nothing, I suppose ...

      Can you even do normal, modern C++ programming if you have to interface to MFC? Isn't that the API which implements its own nonstandard string class, for crying out loud?

      In this specific case, I cannot see why someone in their right minds would expose a delete operator for a class, if invoking it would be a silent runtime bug.

    87. Re:Total cached page limit. by CyricZ · · Score: 0, Flamebait

      While powerusers find setting options in that way to be ideal (I'm quite fond of it), it just isn't something you can tell a typical user to do. Many have a difficult time with normal, GUI-based software configuration. The about:config feature is basically forcing them into editing a textfile, and that just doesn't fly.

      We hear so often about how Firefox is meant for the masses, because it is supposedly a suitable replacement for Internet Explorer. That won't hold true until it offers a friendlier interface for such obscure configuration.

      --
      Cyric Zndovzny at your service.
    88. Re:Total cached page limit. by CyricZ · · Score: 0, Offtopic

      Please don't take Java to be a good example of a garbage collected language. It unfortunately has given the technique a very bad name.

      Look to languages such as Python, SML, Common Lisp, Smalltalk, Ruby and others for examples of garbage collection done right. Most of the popular implementations offer superb GC capabilities which offer better memory usage than that of the Java GC, all without the overhead of the Java collector.

      --
      Cyric Zndovzny at your service.
    89. Re:Total cached page limit. by Thunderbear · · Score: 1

      IBM has an excellent Java for PowerPC Linux. Running it on an iMac.

      --

      --
      Thorbjørn Ravn Andersen "...and...Tubular Bells!"
    90. Re:Total cached page limit. by master_p · · Score: 1

      Can you even do normal, modern C++ programming if you have to interface to MFC?

      When the project started in 1999, the contractor wanted to depend only on the basic Visual Studio 6.0 installation, i.e. no external toolkits. That meant MFC or WIN32...And MFC is a better than plain Win32; but MFC violates many good C++ established ways of programming.

    91. Re:Total cached page limit. by Anonymous Coward · · Score: 0

      Are you reusing your old profile with each upgrade or do you start with a fresh one?

    92. Re:Total cached page limit. by toddbu · · Score: 1
      Ben the moron (I'm sorry, I think he really is sometimes) will think it's too difficult for plebs to understand.

      For as much as I love open source, this is why it can be such a tough sell. No matter how you feel about Microsoft's business model, their strength is in taking care of the little stuff. I've never really understood why good software === stuff my mom can't run.

      --
      If you don't want crime to pay, let the government run it.
    93. Re:Total cached page limit. by jez9999 · · Score: 1

      Yeah but my point is that many features, such as the one I described, is a very simple addition that people like your mom COULD understand, and indeed leave at default (as it is now) if they didn't.

    94. Re:Total cached page limit. by ultranova · · Score: 1

      Are you reusing your old profile with each upgrade or do you start with a fresh one?

      Reusing. I don't want to lose my bookmarks. Besides, if this was a profile problem, it should occur at startup, not at some random time later.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    95. Re:Total cached page limit. by Fred_A · · Score: 1

      Ah yes, I should have figured that IBM would have had covered that platform given their extensive use of both Linux and Java. Thanks for the correction.

      Java still isn't very practical to use on exotic hardware though (when at all possible).

      --

      May contain traces of nut.
      Made from the freshest electrons.
    96. Re:Total cached page limit. by Anonymous Coward · · Score: 0

      Try to save those images. You'll hit the limit, when Firefox stops reacting.

      Really, it downloads the image, and with every image this goes slower until it just doesn't react anymore.

    97. Re:Total cached page limit. by arkanes · · Score: 1
      We tested the application with Rational Purify and Visual Leak Detector, but we found no memory leaks.

      Thats because you were using the wrong tools and looking at the wrong thing. The debug version of the MSVCRT can detect double-frees, try using that next time. Although I thought Purify could too (haven't used it in a long time), so maybe you just had that part turned off. Rejecting your assumptions is an important part of debugging.

      our programmers deleted C++ CWnd objects using 'operator delete', whereas they should have used 'DestroyWindow' instead.

      A fairly common beginners mistake in MFC code. It's a weakness of the toolkit more than the language, of course, and a debug build should have caught the double free. If it really was a double free - the most common result of deleting a CWnd like that is a crash when an event map tries to handle a queued event for the window. I'm not really convinced that you've actually solved your problem there, or (if you have) that you understood what the real problem was in the first place. But anyway.

      We actually spent the last 4 months trying to figure out what was happenning.

      4 months to detect problems caused by well known beginners errors in MFC? Eh.

      If we had gargage collection, there would be no problem.

      GC wouldn't have fixed this problem. A different object tracking scheme might have (and since Java and most other GC languages don't have determenstic finalization, they don't have destructors, so you wouldn't have the disparity between C++ deletion and MFC destruction).

      The fact that C++ does not have garbage collection has costed billions of dollars in the IT industry.

      Brought to you by the "numbers I pulled out of my ass department". Garbage collection technology has improved greatly in the last 10 years, and it's getting very very good, but there still is not one perfect scheme for all cirucmstances, and there are still very definite tradeoffs involved in it. Certainly I could justify a statement that Java has cost the industry billions as easily as I could defend such a statement about C++ (but I wouldn't make it, because I'd be making the numbers up).

      For the shake of few embedded applications that use C++, the rest of us have to suffer. Garbage collection can be optional in C++...go figure why they deny it!

      There are actually very important basic language semantics in C++ that make implementing "plug-in" garbage collection almost impossible. There is nothing in the standard that explicitly prevents you from implementing GC in the compiler and standard libraries. There's a reason why people haven't done it, and it's not because they're afraid of the embedded developers. You'd need different language semantics and then - suprise - it's not C++ anymore.

    98. Re:Total cached page limit. by GMC-jimmy · · Score: 1

      I've never spoken publicly about any memory issues with Firefox. But my initial 10 minutes of "looking into it" for this whole issue turned up with me setting Firefox to have a blank start page, and then watching the memory usage with the task manager. In just 10 minute, and without viewing a single URL, Firefox's memory usage climbed an additional 500k. This seemed odd to me and worth atleast a mention. Now if only someone could explain _that_ feature.

      --
      __________________________________
      Free your mind - Flush your toilet
  2. How nice. by Pig+Hogger · · Score: 1

    How nice!

    Now, how about telling us so up-front? And how about disabling it, or having another "feature" that enables us to turn it off?

    1. Re:How nice. by wizbit · · Score: 1

      RTFA - you can change the setting via a user preference:

      For those who remain concerned, here's how the feature works. Firefox has a preference browser.sessionhistory.max_total_viewers which by default is set to -1. [...] You can set it to 0 to disable the feature, but your page load performance will suffer.

    2. Re:How nice. by Tony+Hoyle · · Score: 1

      Why is it enabled by default? Why is the option to *disable* it hidden in an advanced configuraiton screen that most users don't even know exists?

      The default should be to work correctly, not be a memory eating resource hog.
      At the moment it just keeps growing until it has eaten all your system memory and you have to kill it. That's a bug, no matter what they try to tell you.

    3. Re:How nice. by Bloke+down+the+pub · · Score: 1, Funny
      Why is the option to *disable* it hidden in an advanced configuraiton screen that most users don't even know exists?
      So that teh 733t h4x0rz can laugh at n00b5 who didn't know about it.
      --
      It's true I tell you, feller at work's next door neighbour read it in the paper.
  3. Wow. If this excuse had come from MS... by Anonymous Coward · · Score: 0

    ... it would be The Satanic Verses all over again. The developer would have to spend the next four years cowering in Bono's basement.

    Dumbest thing I've ever heard. Why is all this memory being used per tab?!

  4. What a small world by Rude+Turnip · · Score: 5, Funny

    Did the Mozilla Foundation hire the same PR firm that Microsoft uses?

    1. Re:What a small world by Anonymous Coward · · Score: 0
      Did the Mozilla Foundation hire the same PR firm that Microsoft uses?


      Exactly my first thought too. Ah, the irony :D

    2. Re:What a small world by Anonymous Coward · · Score: 0

      No, actually we hired my cousin Crazy McWhackjob to run our day to day marketing operations.

      She's already done a great job. She's already ordered the 10,000 tons of oatmeal we need to complete our next project (in under 3 hours no less!), very solidly framed up the vice president in an attempted lawyer assasination and got press releases featuring our latest new feature.

      9/10 so far, I'd say.

      If anyone needs a larger photo of Mrx. McWhackjob, an 11 MB TIFF is available here.

      Wilshe McSleepwithme
      President, Mazzola Friarfox Division

    3. Re:What a small world by udep · · Score: 1

      Can you resize that TIFF image for me? I feel it's to small for my needs.

  5. Christ is it a waste by heinousjay · · Score: 1, Interesting

    I left Firefox running overnight by accident, and when I woke up, the working set was over 2 gigs. I think that might be a touch excessive.

    I still like it as a browser, though.

    --
    Slashdot - where whining about luck is the new way to make the world you want.
    1. Re:Christ is it a waste by masklinn · · Score: 1

      never saw that happen, unless there were dozens of java applets or extremely retarded JS scripts that managed to leak objects everywhere i just can't see how this could happen on an idle firefox.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    2. Re:Christ is it a waste by ArbitraryConstant · · Score: 1

      I've noticed GMail can handle that quite easily. The price for leaving it open is restarting daily.

      The Session Saver extension helps make restarting easier though, as it allows you to restore the previous state of the browser.

      --
      I rarely criticize things I don't care about.
    3. Re:Christ is it a waste by HeroreV · · Score: 1

      unless there were dozens of java applets or extremely retarded JS scripts that managed to leak objects everywhere

      JavaScript shouldn't be able to leak objects, no matter how retarded it is. I think this issue has been fixed on the trunk though.

    4. Re:Christ is it a waste by Anonymous Coward · · Score: 0

      Wow, you left Firefox running overnight by accident? One time I closed Firefox on accident, won't let that happen again...

    5. Re:Christ is it a waste by masklinn · · Score: 1

      Circular references are bitches, and some circular references are not well done enough to handle some edge case (one of the prime example is the IE6 engine when you register events via the events interface and not the on* functions, you generate circular references between two different object layers and IE6 gets unable to reclaim anything)

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
  6. My boss doesn't agree.. by lbrandy · · Score: 4, Funny

    My bos doesn't agree at all. I tried including this feature in several of my builds. My company is so regressive, we have alot to learn from the leaders like Firefox.

    1. Re:My boss doesn't agree.. by Anonymous Coward · · Score: 0

      I don't know what's funnier....the joke in the parent post, or that it got modded "interesting"

  7. My pet peeve! by RingDev · · Score: 1, Interesting

    "(studies show that 39% of all page navigations are renavigations to pages visited less than 10 pages ago, usually using the back button)"

    So why is it that when I open a new tab I have to manually cut/paste the same address in it. For example, replying to an article on /., If I want to quote the summary, I need to hit the back button to copy the text I want, then forward again to paste and type. Why can't I hit ctrl-T and get a new tab with the same page I'm currently on, then hit reply and anything I want to quote I can just switch tabs instead of screwing around with back/forward and scrolling.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    1. Re:My pet peeve! by JordanL · · Score: 1

      You can!!! Just use Opera! (It's the Down->Up Mouse-gensture... produces a tab witht he same history as the one you are currently viewing)

    2. Re:My pet peeve! by nxtw · · Score: 2, Informative

      It's not the most ideal solution, but I can drag and drop the favicon (the icon in between the Home button and address in the address bar, with default toolbar settings) to my tabbar to effectively get a duplicate of the current page. (Tab Mix Plus might be the cause of this feature). I don't have a Firefox that isn't loaded with Tab Mix Plus around, but I don't think you need the extension to do this.

      Tab Mix Plus also has an option to always open the current page in a new tab.

    3. Re:My pet peeve! by Rude+Turnip · · Score: 2, Informative

      "Why can't I hit ctrl-T and get a new tab with the same page I'm currently on, then hit reply and anything I want to quote I can just switch tabs instead of screwing around with back/forward and scrolling."

      I just replied to your post using Firefox. I middle clicked on "Reply to This," which brought up your post appearing by itself in its own tab. I just copied and pasted some of your post into my reply, hit "Submit" and went on my merry way. Isn't that simple enough? Although I would like to see a /. equivalent of the Farkit extension.

    4. Re:My pet peeve! by TERdON · · Score: 2, Informative

      At least in the OS X version, commandclicking (and probably middleclicking as well, but I haven't got a mouse connected) the back button solves this problem nicely. I would guess that middleclicking the back button works under other operating systems as well. So just click "reply" first, then middleclick the back button. :)

      --
      I have a really elegant proof for Fermat's last theorem. If this sig was only a bit longer...
    5. Re:My pet peeve! by pete6677 · · Score: 2, Interesting

      That would be a nice user-configurable option. As it is, I don't find it too much trouble to hit shift-tab a couple of times, ctrl-C, ctrl-T, ctrl-V, enter to get the same page in a new tab, but it would save a few steps to have this choice. But I definitely wouldn't want new tabs opening up with the current page and no option to turn this feature off.

    6. Re:My pet peeve! by JuzzFunky · · Score: 4, Informative

      Looks like you need the duplicate tab extension...
      https://addons.mozilla.org/extensions/moreinfo.php ?id=28&application=firefox

      --
      Unexpect the expected!
    7. Re:My pet peeve! by Anonymous Coward · · Score: 0

      Use a 3 button mouse when you can. The middle button opens up a link in a new tab.

    8. Re:My pet peeve! by Alystair · · Score: 5, Informative

      I found that pressing Ctrl+Z after Ctrl+T brings up the URL from the last tab you were on. Now you just need to press Enter.

    9. Re:My pet peeve! by SaturdayNight · · Score: 2, Informative

      This extension, tab mix plus, has that functionality and a lot more built in (Duplicate Tab). Not sure if you can make it a keyboard shortcut though. Very handy tool for me.

    10. Re:My pet peeve! by FSWKU · · Score: 1

      Mouse Gestures 1.0.4

      There's an entry in the mappings for "Duplicate Tab." Mine is currently set to down-up-down, but you can change it to whatever is most convenient for you.

      --
      "So after all this, you make my case for me. To end this stalemate, you must die..."
    11. Re:My pet peeve! by IthnkImParanoid · · Score: 1

      All In One Gestures (and other mouse gesture extensions) allow you to "duplicate tab," which opens a new tab with the same URL (and post data?) as the current one.

      I'm not sure if there's a way to do it through a single keyboard shortcut, but ctrl-L (go to location bar), ctrl-C, ctrl-T, ctrl-V is a workaround.

      --
      It's nothing but crumpled porno and Ayn Rand.
    12. Re:My pet peeve! by smitke · · Score: 1

      Middle click the "Back" button.

    13. Re:My pet peeve! by JordanL · · Score: 1

      So lets see.... FireFox duplicates Opera features, then IE duplicates FireFox features...

      Whoa! I must be using IE version 9 right now!

    14. Re:My pet peeve! by HTH+NE1 · · Score: 3, Informative

      I regularly use middle-click to open a link in a new tab in the first place. However, the Mac OS X version of Mozilla lacks this option, expecting me to configure my mouse to do a command-click on middle-click instead to get the same functionality I enjoy on Linux.

      Usually the only time I use a browser under Windows is for Windows Update.

      And just testing right now, middle-clicking on the Back button does nothing for me under Linux. It has a visual reaction but otherwise does nothing else. Maybe it is another one of those Firefox features not found in Mozilla?

      --
      Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
    15. Re:My pet peeve! by vertinox · · Score: 1

      Wow. I had no idea either. Kind of cool.

      --
      "I am the king of the Romans, and am superior to rules of grammar!"
      -Sigismund, Holy Roman Emperor (1368-1437)
    16. Re:My pet peeve! by emmetropia · · Score: 2, Informative

      For the sake of knowledge, you *don't* need the extension.

    17. Re:My pet peeve! by rbarreira · · Score: 1

      Yep. The middle/scroll wheel button works everywhere in firefox and always opens a new tab with the page. Try for example the "View Image" option in the right-button menu on top of an image - it loads the image in a new tab.

      --

      The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
    18. Re:My pet peeve! by BeesTea · · Score: 1

      Thanks for that info.

      --
      2b2b2b415448300d
    19. Re:My pet peeve! by thatnerdguy · · Score: 1

      wow...you really do learn something new everyday. I've been using firefox since I don't even know...before it was called firefox for sure i think 0.7 or so

      --
      I saw the Sign, and it opened up my eyes
    20. Re:My pet peeve! by whoever57 · · Score: 0
      You can!!! Just use Opera!

      Or Galeon -- it has a "Clone Tab" option, which copies the tab, and all it's associated history. Very useful!

      In fact, a related feature of Galeon is that if I right-click and open in a new tab, that new tab also retains the history of the tab from whence I came. SO, now I can navigate backwards in the new tab effectively.

      In fact, I think Galeon's handling of tabs is much better than Firefox. I can drag tabs from one window to another, re-order the tabs, drag a tab to the desktop and get a new window. The only lacking feature is one that was removed some time back: the ability to save an arbitrary session (all it does is save some kind of default as you browse for crash recovery). Probably some of these features also exist in Firefox, but they have been in Galeon for a long time.

      --
      The real "Libtards" are the Libertarians!
    21. Re:My pet peeve! by RalphSleigh · · Score: 2, Informative

      Firefox 1.5.0.1 under windoze, middle clicking the back button brings up the page in a new tab, and I dont have any tab related extensions installed.

      --
      Come as you are, do what you must, be who you will.
    22. Re:My pet peeve! by techno-vampire · · Score: 1

      Not for me. I use a three-button Logitech trackball and have the middle-click assigned to "click and hold," and that overrides everything else.

      --
      Good, inexpensive web hosting
    23. Re:My pet peeve! by JordanL · · Score: 1

      The only lacking feature is one that was removed some time back: the ability to save an arbitrary session (all it does is save some kind of default as you browse for crash recovery).

      And funny enough, all those features you mentioned, including saving sessions, are included in Opera vanilla. :)

    24. Re:My pet peeve! by PianoComp81 · · Score: 1

      OK, that's a cool feature. I just tried it, and I think it's going to be one of the more-used features for me. thanks!

    25. Re:My pet peeve! by FredThompson · · Score: 1

      Right-click on a link and look at the menu. Isn't there a selection titled, "Open link in new tab"?

      I don't have any "virgin" Firefox installations so maybe that option was part of an extension I've loaded. I'm using:

      Adblock 0.5 d3 nightly 42
      Allow Right-Click 0.3
      Alt-Text for Links 0.3
      BugMeNot 1.3
      easyGestures 3.2
      Ext2Abc 0.4
      Google Images Re-Linker 0.3
      IE View 1.2.7
      MediaPlayerConnectivity 0.5.3.1
      Mozilla ActiveX Control 1.03
      Netcraft Toolbar 1.1.1.3
      Omea Connector 1.0.934.5
      PageStyle2Tab 0.6.4
      PDF Download 0.6
      Sort Bookmarks 0.7.0
      Séparé 0.1.2
      Teleflip 0.2

    26. Re:My pet peeve! by rob_squared · · Score: 1

      If you use tabbrowser extension you can configure it so that simply double-clicking on a tab will duplicate it, no keystrokes needed.

      --
      I don't get it.
    27. Re:My pet peeve! by angel'o'sphere · · Score: 1

      Why dont you use the right mouse button?

      Click on [reply to] with right mouse and chose "open in new tab".

      Or use the corresponding modifier, likely ctrl or shift, when you click.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    28. Re:My pet peeve! by fimion · · Score: 1

      ooh... shiny... thanks for the tip!

    29. Re:My pet peeve! by Anonymous Coward · · Score: 0

      Or you can "simply" middle-click (instead of Ctrl+Z then Return) anywhere.
      I must admit it's bit difficult to get used to it ;-)

    30. Re:My pet peeve! by towsonu2003 · · Score: 1
      I regularly use middle-click to open a link in a new tab in the first place. However, the Mac OS X version of Mozilla lacks this option, expecting me to configure my mouse to do a command-click on middle-click instead to get the same functionality I enjoy on Linux. Usually the only time I use a browser under Windows is for Windows Update. And just testing right now, middle-clicking on the Back button does nothing for me under Linux. It has a visual reaction but otherwise does nothing else. Maybe it is another one of those Firefox features not found in Mozilla?
      this may be bc of a driver issue. in linux firefox, when I click left&right simultaneously on "Back", the previous page opens in a new tab. should be the same in mac and win?
    31. Re:My pet peeve! by FLEB · · Score: 1

      Then... set the middle button to "Middle button". You're not really using a "3 button mouse" in the sense that the PP intended, you're using a "Two button mouse with a click and hold feature."

      --
      Information wants to be free.
      Entertainment wants to be paid.
      You just want to be cheap.
    32. Re:My pet peeve! by SCHecklerX · · Score: 1

      Huh? Just mid-click on the link to open it in a new tab (or right-click, t). I'm replying to you right now doing that.

    33. Re:My pet peeve! by techno-vampire · · Score: 1

      I hardly ever need the middle button for anything outside of FF, and I can use click and hold in a number of programs. The only, slight problem is that the mousedriver's settings override FF, and I can live with it. I mentioned it just to show that it doesn't quite always work.

      --
      Good, inexpensive web hosting
    34. Re:My pet peeve! by lumbercartel.ca · · Score: 1

      > So lets see.... FireFox duplicates Opera features,
      > then IE duplicates FireFox features...
      >
      > Whoa! I must be using IE version 9 right now!

      Don't worry, you're not -- Opera and FireFox don't have the infamous "security holes" features that IE does (e.g., auto-download-and-merge of .REG files).

    35. Re:My pet peeve! by Aeolien · · Score: 1

      Using the http://optimoz.mozdev.org/gestures/Mouse Gestures extension (v.1.0.4 at time of this writing), you can easily create a duplicate tab (Down-Up-Down by default). Or, as others have suggested, you can middle-click or Control+click a link, depending on your mouse, in order to create a new tab of the linked page. --Aeo

    36. Re:My pet peeve! by unitron · · Score: 1
      It took me a moment to realise that you're talking about hitting the "Reply" button for the whole story (which ought to be called "make a comment") rather than the "Reply to this" link under each comment. I've been annoyed by your problem myself in the past.

      Maybe the problem is as much a Slashdot bug as it is a Firefox bug. If the Reply button was a link instead we could just right click and open in new tab or (in IE, shudder) new window.

      --

      I see even classic Slashdot is now pretty much unusable on dial up anymore.

    37. Re:My pet peeve! by unitron · · Score: 1

      Try middle or right clicking on the "Reply" button for the entire story (the one you'd use if you were going for a "First Post") and you'll see the problem the parent poster is talking about. Buttons aren't links, which is why I see this as more of a Slashdot problem than a browser problem.

      --

      I see even classic Slashdot is now pretty much unusable on dial up anymore.

    38. Re:My pet peeve! by Anonymous Coward · · Score: 0

      I'm using a macintosh. How do I middle click?

    39. Re:My pet peeve! by pjbgravely · · Score: 1

      just do what I did and middle click on " reply to this " and it opens in a new tab. And by the way the post you click " reply to this " on is above your window to reply in.

      --
      Star Trek, there maybe hope.
    40. Re:My pet peeve! by eonlabs · · Score: 1

      This is the ONLY reason I'm still using IE...That and I'm currently not a fan of tabbed browsing. CTRL+N in IE opens a new window with, not just the current page, but the whole HISTORY from the previous window. I find that that's one of the most useful features of IE.

      --
      I wouldn't consider the mad hatter mad. Just reality impaired. He sure can make a mean cup of tea.
    41. Re:My pet peeve! by unitron · · Score: 1

      When the link is not a link but a button, it doesn't work that way. He's talking about the "Reply" button at the top of the comments section.

      --

      I see even classic Slashdot is now pretty much unusable on dial up anymore.

    42. Re:My pet peeve! by unitron · · Score: 1

      There is no "reply to this" button (not link) for the story itself.

      --

      I see even classic Slashdot is now pretty much unusable on dial up anymore.

    43. Re:My pet peeve! by pjbgravely · · Score: 1

      I see it doesn't work on the story reply button, but I thought this was about quoting someone else which I would always do as a reply to their post

      --
      Star Trek, there maybe hope.
    44. Re:My pet peeve! by geminidomino · · Score: 1

      Middle button.

    45. Re:My pet peeve! by Anonymous Coward · · Score: 0

      Well, if you middle click the back button, by default it will open the previous history entry in a new tab, and there is a clone tab extention that does what you describe (new tabs open with the same url as the current tab), so...

      Extensibility is good I guess.

    46. Re:My pet peeve! by Tony+Hoyle · · Score: 1

      Right clicking does *not* produce the open in new tab menu.

      Unfortunately I can't test middle clicking as I'm on a laptop which has only two buttons.

    47. Re:My pet peeve! by SillyNickName4me · · Score: 1

      this may be bc of a driver issue. in linux firefox, when I click left&right simultaneously on "Back", the previous page opens in a new tab. should be the same in mac and win?

      This is either gdm or X using '3 button emulation'. No, it won't work on Windows unless your mouse driver there does it, no idea about OS X. At any rate, it has nothing to do with Firefox itself.

    48. Re:My pet peeve! by Bob54321 · · Score: 1

      On my laptop clicking both buttons works like a middle button - not sure if this was by default or if I configured it myself...

      --
      :(){ :|:& };:
    49. Re:My pet peeve! by dan+the+person · · Score: 1

      Plug in a mighty mouse or other 3 button mouse and use the middle mouse button.

    50. Re:My pet peeve! by hairyfeet · · Score: 1
      Try Seamonkey with Multizilla.Just right click on the page and pick Duplicated tab.

      If you haven't tried Seamonkey 1.0 you don't know what your missing.I have over a dozen extensions compared to 5 for Firefox and it not only uses less ram but IMO is a lot less buggy and more responsive than Firefox.And if all you want is the browser just pick "browser only" at install.

      If any of the Seamonkey developers happen to read this,Thank you VERY much.I have been able to ween more users off of Internet Exploiter(TM) and Outlook Excrement(TM) with your wonderful browser than I ever could with FF/TB.It is a lot easier to get folks to switch once I've showed them how easy it is to check your email while browsing and how they get "two for one" with Seamonkey.

      And for me personally I can't live without my Multizilla and spellbound.Considering how they are pushing FF and have always treated the Suite like a bastard stepchild it seems to me they could learn a lesson or two from the Seamonkey folk,Since switching from Mozilla to Seamonkey I've never had it crash,I can run it for hours without it going all RAM piggy,And it seems to get more rock solid and hassle free with every build whereas FF seems to get buggier and more RAM piggish with every new release.

      I hope they can fix it since they bet the farm on FF/TB,But after trying FF and Seamonkey side-by-side I think I'll leave FF to the nephews and stick with my rock solid Seamonkey.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    51. Re:My pet peeve! by mattgoldey · · Score: 0

      I click the trackball button on my Mighty Mouse to middle-click. This opens links in new tabs in Firefox for me.

    52. Re:My pet peeve! by Anonymous Coward · · Score: 0

      I see the other people who replied to this don't understand the idea behind a single button mouse. There are many people who do not have the ability to use more than one button because of their hands. Some people even have to use a head mounted stick to use the keyboard and mouse.

      Apple has chosen, essentially, to mandate that ALL software must be usable with only a single mouse button. This allows any multi-button mouse to have a software package that enhances the extra buttons either on a system wide or per application and is completely custimizable per the user.

      In other words, don't be messing with my middle button. I like using it for Expose'!

    53. Re:My pet peeve! by jayminer · · Score: 1

      You should be able to define the middle-click behavior in the mouse driver if you install the bundled-CD. Define it as "middle-button" or something similar like that like the grandparent has said and you'll be good to go.

    54. Re:My pet peeve! by fritzk3 · · Score: 1

      Just to clarify: this trick only works when you've navigated forward at least one page. If you try to do this on the ghosted Back button of a freshly-instantiated tab, nothing will happen.

      --
      All your sig are belong to us.
    55. Re:My pet peeve! by Rhoon · · Score: 1

      Right Click -> Open Link in New Tab

      Voila, instant post (It's even IE compatible although the option is renamed "Open in New Window")

      --
      "If all the world's a stage, I want to operate the trap door." - Paul Beatty
    56. Re:My pet peeve! by ZarkOmicron · · Score: 1

      FYI, you should be able to replace "hit shift-tab a couple of times" with ctrl-L.

    57. Re:My pet peeve! by techno-vampire · · Score: 1

      I defined middle click to be something I'd use on a day to day basis long before I installed FF. Changing the way I work simply to accomodate one program would be silly.

      --
      Good, inexpensive web hosting
    58. Re:My pet peeve! by Anonymous Coward · · Score: 0

      I find that I'd rather have my home page open in new tabs. Firefox removed this functionality so I use the "New Tab Homepage" extension.

  8. spyware with IE or memory leak with FF.. by madnuke · · Score: 2, Insightful

    Hard choice but I'm seriously looking at Opera after seeing this I have a gig of RAM and its still laggy, I was wondering why the 'leak' was so high theres no way you could put that much bad programing to make a programe eat memory like a fat kid in a pie shop.

  9. In other news... by GillBates0 · · Score: 5, Funny
    ...scientists have determined that the human appendix is not an evolutionary anomaly as previously thought, but an intelligent design feature aimed at keeping the humans guessing as to it's actual function.

    And in totally unrelated news, the Mozilla foundation recently announced that their flagship browser Firefox shall soon be renamed to Bigfoot, to reflect the software's large memory footprint.

    More breaking news on these topics at 11.

    --
    An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
    1. Re:In other news... by Anonymous Coward · · Score: 0

      FUNNY! Very funny. But you must remember never to troll the Slashdot favorites. Remember also that Slashdot is a community of FANBOYS.

    2. Re:In other news... by ajs · · Score: 1

      I've always had a problem with that view of the appendix. First off, one of the assertions made (e.g. by Joseph McCabe in 1912, and often cited since) is that, even if the appendix had some function (which recent research has been inconclusive on), it would clearly have been a greater function in the past in order to have been enough of a survival trait to be incorporated so universally into human anatomy. This, however, overlooks the fact that nearly all human organs had different purposes at one point in our evolution, and thus ANY non-essential organ, no matter how important would be considered "vestigal".

      The other problem is that teh appendix has not gone away. One would expect that, at least in some large sample of humans, an organ that truly was useless would have gone away. This leads one to surmise that it serves some function which, while non-essential (you can live without it, after all) is almost certainly a survival trait in the broader context of humanity. Possible functions that would suit this purpose could include: reduction of harmful contaminants in food (possibly colesterol, which has been studdied recently); mitigation of some disease effects; and quite possibly a physical role in digestion (e.g. preventing certain kinds of particulate food from moving through the intestines as quickly as some other kinds).

      These are all guesses, but what is known is that most "useless" organs have at one point or another in our history been determined to serve a crucial role. Even the brain was once thought to be nothing more than padding, protecting the eyes and neck.

    3. Re:In other news... by johnpagenola · · Score: 1

      Last week I checked the memory usage of Firefox 1.5 on my 2GB main memory Win2k box: 322MB! SAS is the only other application I have ever had that high.

    4. Re:In other news... by superyooser · · Score: 1
      ...scientists have determined that the human appendix is not an evolutionary anomaly as previously thought, but an intelligent design feature aimed at keeping the humans guessing as to it's actual function.

      More breaking news on these topics at 11.

      That really would be breaking news, because the vermiform appendix does have functions in the body, as even Talk Origins admits. (But then they claim that just because an organ has functions doesn't mean it's not vestigial. The new, lowered bar to qualify as vestigial is "suboptimal design" of function -- suboptimal in the eyes of humanity, which, of course, has complete understanding of the body. And wait, what is this talk of "design" by evolutionists?)

      Look, if the appendix is left over from evolutionary predecessors, how come monkeys do not have an appendix? Yet, some rodents and marsupials do. I'm having trouble tracing the evolutionary tree here.

    5. Re:In other news... by LordLucless · · Score: 1

      Impressive. Of all topics, I thought browser memory footprint had to be one of the LEAST likely to become a evolution-creation flamewar. That's some impressive trolling. I'd take me hat off to you, if I were wearing a hat and wasn't lazy.

      --
      Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
    6. Re:In other news... by evilviper · · Score: 1
      ...scientists have determined that the human appendix is not an evolutionary anomaly as previously thought

      That actually wouldn't surprise me at all. Raise your hand if you had your tonsils removed as a kid...
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    7. Re:In other news... by evilviper · · Score: 1
      Look, if the appendix is left over from evolutionary predecessors, how come monkeys do not have an appendix?

      Because humans didn't evolve from monkeys. That's just the Hollywood, sound-byte interpretion of evolution.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    8. Re:In other news... by Anonymous Coward · · Score: 0

      The other problem is that teh appendix has not gone away. One would expect that, at least in some large sample of humans, an organ that truly was useless would have gone away.

      Why? Evolutionary theory states that a mutation will become dominant if it improves the likelihood that its bearers will breed successfully. Therefore you would only expect the appendix to disappear if its presence significantly reduced the likelihood that a human with an appendix would (a) survive to the age of sexual maturity, and (b) find a mate. If appendicitis was very common, for example. But since the appendix doesn't generally have any negative effects on people, there is no reason to expect it to disappear.

  10. Doesn't seem to be true by amliebsch · · Score: 3, Insightful

    If this is true, then why is so little memory freed after the tab is closed, compared with how much it consumed when it was created?

    --
    If you don't know where you are going, you will wind up somewhere else.
    1. Re:Doesn't seem to be true by 7macaw · · Score: 1

      Yeah, and even though I don't use tabs (such a pervert I am), but have, like, 10 windows open instead, firefox still tends to eat all of the system's memory, so I have to restart ff from time to time. So annoying.

    2. Re:Doesn't seem to be true by ummit · · Score: 1

      Because programs rarely return memory to the OS when they free it internally. See here. Try changing the pref (as described elsewhere in this thread), restarting Firefox, and watching its memory usage then.

    3. Re:Doesn't seem to be true by miro+f · · Score: 1

      I'm getting sick of this comment. have you actually tested it or are you just regurgitating what all the other people are saying?

      Try using Firefox 1.5.0.1 and load up a whole bunch of tabs, and then close them. Watch the memory usage drop.It doesn't drop all the way back to where it was, but it gets most of the way there

      --
      being vague is almost as cool as doing that other thing...
    4. Re:Doesn't seem to be true by amliebsch · · Score: 1

      This was based on my own experience - I opened up a new tab, visited some pages, and the memory usage went up around 5 MB, but when I closed the tab, only a couple of hundred KB was freed.

      --
      If you don't know where you are going, you will wind up somewhere else.
    5. Re:Doesn't seem to be true by Anonymous Coward · · Score: 0

      I, for one, test this *daily*. In the morning, I open Firefox, and commence with a day's worth of surfing while at work. I visit many, many pages (100+) during the course of the day, opening and closing tabs as needed. As many as ten tabs may be open at any one time.

      I assure you that I can close every single tab except for my first, and still see Firefox hogging 100MB of memory -- and reaching for more. I can't stand it.

  11. about:config by __aaitqo8496 · · Score: 2, Insightful

    how about a configurable option to not take up 200mb of ram? keep it as-is by default, but let power users toggle it off

    1. Re:about:config by drpimp · · Score: 1

      That is a good idea, but in seriousness maybe this is the cache setting to at least disable this gobbler???

      about:config

      browser.cache.memory.enable

      --
      -- Brought to you by Carl's JR
  12. So I'll be the first to say it.... by JordanL · · Score: 4, Insightful

    Why does Opera do the same thing faster without the memory penalties?

    1. Re:So I'll be the first to say it.... by ashot · · Score: 1

      amen to that, much faster.

      --
      -ashot
    2. Re:So I'll be the first to say it.... by Anonymous Coward · · Score: 0

      Seriously, I was thinking the same thing. I've gotten so used to hitting Back in Opera and seeing the form I just filled out (with my input), or whatever I was looking at just appear instantly. I go to hit Back on IE and get irritated that the 'page has expired'. I don't want a new page, I want to see exactly what I just saw again, that's why I hit Back.

      Furthermore, I just saved the largest page I can think of, a timesheet application with 240 form fields, and loads of javascript running 7 dropdown menus. That page is a total of 260k in size. There's simply no excuse for Mozilla saying the memory leak is the result of caching 100s of MB of pages, at 260k absolute max, that's over 360 pages in 100 MB, if only 10-20 pages are being cached per tab, and you have 20 tabs open, that's 200-400 pages, and I wager that many of them are under 50k.

      So the question remains, why can Opera do this so elegantly, including saving the status when the program is reopened? Or, I guess a better question is, why can't Firefox do it? Are they really that far behind Opera?

    3. Re:So I'll be the first to say it.... by JordanL · · Score: 3, Interesting

      I suspect that some of it may be due to talent. Perhaps Opera programmers are just more talented on average than the typical FF dev. As well, I also suspect that its simple goal orientation. The Opera company works on building a new browser that's better with new features. The MozDevs collaborate on whose got which tickets and how they'll be integrated into the source and such.

      This is proof positive, I think, that OSS != the best option in all scenarios. Opera consistently beats FF out on features, security, and speed... and it does it without having to download "extensions".

    4. Re:So I'll be the first to say it.... by stu42j · · Score: 1

      It is not saving the html, it is saving the rendered DOM which is probably larger. You also have to include images and any other external objects.

    5. Re:So I'll be the first to say it.... by CaptainCarrot · · Score: 1

      Ya know, I wonder if under this scheme they're cacheing images in memory instead of re-reading them out of the cache directory? That'd suck down memory awful quickly.

      --
      And the brethren went away edified.
    6. Re:So I'll be the first to say it.... by whitehatlurker · · Score: 1, Informative
      Why does Opera do the same thing faster without the memory penalties?

      Simply put, Opera is a better browser ;-)

      --
      .. paranoid crackpot leftover from the days of Amiga.
    7. Re:So I'll be the first to say it.... by Anonymous Coward · · Score: 0

      Opera consistently beats FF out on features, security, and speed...

      And size, and resource usage.

    8. Re:So I'll be the first to say it.... by masklinn · · Score: 4, Informative

      It doesn't. (or Process Explorer lies when it tells me that Opera is using 160Mb of ram after some surfing, which is roughtly what Firefox also maxes at)

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    9. Re:So I'll be the first to say it.... by masklinn · · Score: 1

      The size of the source code is not the in-memory size of the page.

      Upon parsing, the whole page is turned into a DOM with quite a bunch of complex objects, the scripts are loaded into memory and executed, loading yet more objects, the CSS has to be parsed and stored and the various properties associated to the DOM.

      And when you implement fastback, you have to store not only these, but you may also want to store the current state (frame) of the various JS scripts and routines in order to restore them (this could probably be easy if you were to build a browser on a language implementing continuations, but I don't think any does.)

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    10. Re:So I'll be the first to say it.... by ocelotbob · · Score: 1

      I tried that opera thing on my FreeBSD box. Didn't even want to start. Same with my Sun box. Lemme know when opera gets rid of these annoying bugs.

      --

      Marxism is the opiate of dumbasses

    11. Re:So I'll be the first to say it.... by JordanL · · Score: 1

      or Process Explorer lies when it tells me that Opera is using 160Mb of ram after some surfing

      Honestly, I have never, even with 50+ tabs open for hours, exceded 60MB of memory usage with Opera... so possibly. Wouldn't be the first time a MS product has lied. ;)

      In all seriousness though, just from personal experience with multiple versions on multiple OSs, I would attribute that to your computer itself, not the software. My work computer has been on for 2.5 weeks with over 15 tabs open in Opera at all times... still under 40MB of memory... still no memory leaks...

    12. Re:So I'll be the first to say it.... by diegocgteleline.es · · Score: 3, Interesting

      and it does it without having to download "extensions"

      Well, you just picked up the worst reason - opera is great when it comes to performance, but firefox + extensions consistently beat opera and IE when it comes to features. I can have the features I want, there're way more extensions that features than opera has, and if I don't want them, I don't need to keep the extra UI involved in those features.

    13. Re:So I'll be the first to say it.... by JordanL · · Score: 1, Insightful

      Well, you just picked up the worst reason - opera is great when it comes to performance, but firefox + extensions consistently beat opera and IE when it comes to features. I can have the features I want, there're way more extensions that features than opera has, and if I don't want them, I don't need to keep the extra UI involved in those features.

      You sound like you've never actually picked up Opera and used it...

      Unlike FireFox, Opera's features don't ever seem to add bulk to the interface. I'm continually impressed with the elegance of the UI. The downside on that one is that configuring these features isn't as slap-you-in-the-face obvious as it is in FireFox, although just as powerful.

      Opera has a 'feature' just like Thunderbird integrated that I never use... and if I didn't read the development logs, I wouldn't even know it existed.

      I've never found a FF extension which added a genuinely useful feature that wasn't already in Opera, with the exception of GreaseMonkey, (which enjoys full support in the upcoming 9.0 release).

    14. Re:So I'll be the first to say it.... by Anonymous Coward · · Score: 0

      And market share... Oh. Wait.

    15. Re:So I'll be the first to say it.... by Anonymous Coward · · Score: 0

      Opera's UI was such a nightmare (like UltraEdit) until recently they brushed things up a bit. Still there are several things that I'm don't like (even in Opera 9 Preview 2):

      1) The menu is still quite clustered. I hope they have a menu editor (and not having to edit the text file manaully)

      2) The tabs "close" on click, which is not consistent with system tabs. There is an option to disable that, but will also force the present of X on every tab (equally unpleasant). This is a feature I don't want but has no way to disable.

      3) The trash in Bookmarks. Again I don't want it but can't remove it, making me to go through several clicks to remove bookmarks. (Not to mention the Manage Bookmarks page is quite confusing without a root node.)

      Other UI rant:

      1) With Windows Native UI, the tabs are buttons instead of, you know, tabs.

      2) The Edit/Delete/Rename buttons in Preference Shortcuts just aren't in the right order/position. I don't remember how many times I click Delete when I was trying to Edit; what's worse is that there's no delete confirmation!

      3) Ctrl+F doesn't do Find in Page if the Find textbox isn't visible. Yea / and ' work but Ctrl+F is a common Windows shortcut (which is expected to obey the Find in Page setting)

      Enough for now

    16. Re:So I'll be the first to say it.... by Anonymous Coward · · Score: 0

      Web Developer Extension
      FlashGot
      Adblock
      FoxyTunes

      I know some similar features of some of the above are in Opera but they're not quite the same.

    17. Re:So I'll be the first to say it.... by Rakishi · · Score: 1

      Things I have not found in Opera:
      -Ability to open all highlighted links in new tabs
      -Ability to zoom in an image (make it bigger), you can zoom the whole page in Opera but that is NOT what I want.
      -Download Statusbar, so far I found it the best way to keep track of my downloads.
      -View rendered source chart, I find it useful sometimes.

      Not to mention the four or five website specific extensions, which I use often enough.

    18. Re:So I'll be the first to say it.... by Jongpil+Yun · · Score: 1

      a) Process Explorer isn't an MS product. It's by sysinternals
      b) If Opera took out the IRC/E-mail client/a shitload of other crap that I have other programs for, I'd use it. That, and if it had (has?) the same keyboard shortcuts as Firefox.

    19. Re:So I'll be the first to say it.... by Anonymous Coward · · Score: 0

      (1) If you don't want to use IRC or e-mail, you don't have to. It's like they're not even there. If the 'Chat' menu item bothers you, you can easily delete it, even.

      (2) Unlike Firefox (the last time i used it, anyway), Opera's keyboard shortcuts are all completely changeable from within the preferences panel. Change them to anything you want. The keyboard preferences thing even has a little search box so you can find exactly what you're looking for (based either on the function (like 'back') or on the shortcut (like 'ctrl z')).

    20. Re:So I'll be the first to say it.... by piotrr · · Score: 1

      Opera does not do the same thing. It is faster, yes, but Opera does not maintain a forward-looking cache at all, it only caches pages you have already visited.

      --
      / Per
    21. Re:So I'll be the first to say it.... by Jugalator · · Score: 1

      1) The menu is still quite clustered. I hope they have a menu editor (and not having to edit the text file manaully)

      I don't understand this complaint. Besides the bookmarks menu that depends on amount of bookmarks, it has 5 menus with maybe about 10 items each on average. Is this really such a big problem? I quickly compared to IE and it was similar.

      --
      Beware: In C++, your friends can see your privates!
    22. Re:So I'll be the first to say it.... by wheany · · Score: 1
    23. Re:So I'll be the first to say it.... by mrv00t · · Score: 0
      Honestly, I have never, even with 50+ tabs open for hours, exceded 60MB of memory usage with Opera...
      Does Opera use on-disk cache?
    24. Re:So I'll be the first to say it.... by arevos · · Score: 1

      With Opera, I couldn't find good replacements for:

      Adblock
      Flashblock
      StumbleUpon
      Del.icio.ous post
      PasswordMaker
      Google Preview

    25. Re:So I'll be the first to say it.... by m50d · · Score: 1

      If a feature's worth having it's worth having built in - Opera demonstrates that it doesn't have to cause problems with the UI or bloat.

      --
      I am trolling
    26. Re:So I'll be the first to say it.... by ocelotbob · · Score: 1

      Okay, so they've added more platforms since I last checked a few months ago. Shame it's still ugly as sin and closed source.

      --

      Marxism is the opiate of dumbasses

    27. Re:So I'll be the first to say it.... by Anonymous Coward · · Score: 0

      2005
      Firefox Fan: Firefox RULEZ. Opera doesn't have extensions
      Opera Fan: That's right, but the browser is better out of the box

      2006
      Opera Fan: OK, now we have extensions too. Are you happy?
      Firefox Fan: NO FUCKTARD! Firefox RULEZ because it has more extensions

      2007
      Opera Fan: All of the functionality of Firefox extensions is available for Opera + more
      Firefox Fan: SHITHEAD! Firefox RULEZ because it's Open Source

      2008
      Opera Fan: OK, Opera is open source now. Happy?
      Firefox Fan: FUCK OFF! I will never use a program with that kind of licence. Besides, I don't want to admit that I have wasted my life on Firefox.

    28. Re:So I'll be the first to say it.... by Vo0k · · Score: 1

      Because Opera makes quite a few shortcuts while rendering HTML. It's standards-compilant in the way it passes most of basic checks. But it rarely tries to do the Right Thing when standards don't say what to do.
      I remember killing an absolutely positioned DIV and being left with 'memory view' junk instead of rerendering the elements below. Or a DIV being a draggable window leaving a trail of unerased 1-pixel border junk. I've tried hiding scrollbars on textarea through stylesheets, 'scrolling' property, no such luck - I can disable scrolling but the scrollbars are there. Well, the specs say when to display scrollbars, not when not to display them, though you'd think that's obvious. Oh, and what about the fun non-standard scrollTop property? Opera claims to support it, then ignores its content entirely when it comes to textareas and some other elements. There's currently no way to dynamically append some text to textarea contents without having it scrolled all the way up.

      There are lots and lots of such examples. The developers have a great excuse, "the standards don't say what to do, so why should we care?" but these things are annoying as hell. If specs says "user agents may choose not to render..." Opera usually chooses so. When specs say "the behaviour is unspecified", Opera does the easiest thing, not the one that "feels right".

      If I was to compare it to a human I'd say it's lazy. Least effort to achieve what the boss says, result as fast out of the desk as it can, half-assed job that will pass QA but won't satisfy the customer. Specs said so, so I did it. Specs didn't say anything so I didn't do anything.

      --
      Anagram("United States of America") == "Dine out, taste a Mac, fries"
    29. Re:So I'll be the first to say it.... by wheany · · Score: 1

      You can change its appearance with skins. Can't help you with the source.

    30. Re:So I'll be the first to say it.... by hkmwbz · · Score: 2, Informative
      The extra features in Opera don't waste UI space either.

      And guess what, Opera can be extended in many different ways:

      http://virtuelvis.com/archives/2005/01/opera-and-f irefox-extensions
      http://virtuelvis.com/archives/2005/09/opera-and-f irefox-extensions-ii

      --
      Clever signature text goes here.
    31. Re:So I'll be the first to say it.... by dzfoo · · Score: 2, Funny

      >> Why does Opera do the same thing faster without the memory penalties?

      Magic!

                  -dZ.

      --
      Carol vs. Ghost
      ...Can you save Christmas?
    32. Re:So I'll be the first to say it.... by Anonymous Coward · · Score: 0

      Your Firefox maxes at 160MB? I guess you're not a heavy user then. Mine "maxes" at about 500MB, i.e. that's about what it reaches before it usually crashes.

    33. Re:So I'll be the first to say it.... by masklinn · · Score: 1

      I'm not a heavy user indeed, I barely leave it open for a single day at a time, with 3 to 50 tabs loaded in (and random surges of 20 tabs in a click when I open some of my bookmark folders).

      And something like 40 extensions loaded in, i think.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    34. Re:So I'll be the first to say it.... by psxman · · Score: 1
      3) The trash in Bookmarks. Again I don't want it but can't remove it, making me to go through several clicks to remove bookmarks.
      Use Shift+Delete.
    35. Re:So I'll be the first to say it.... by diegocgteleline.es · · Score: 1

      You sound like you've never actually picked up Opera and used it...

      Oh yes - Actually, I have it installed.

      I've never found a FF extension which added a genuinely useful feature that wasn't already in Opera, with the exception of GreaseMonkey

      Oh, well, opera managed to implement the same functionality than thousand of firefox extensions, right? Maybe you don't need some of the extensions firefox community provides. Many other people does and finds them useful That's the whole point of extensions. You're not forced to install them.

    36. Re:So I'll be the first to say it.... by mewphobia · · Score: 1
      I've never found a FF extension which added a genuinely useful feature that wasn't already in Opera, with the exception of GreaseMonkey, (which enjoys full support in the upcoming 9.0 release).

      Then maybe you haven't looked at all.

      • The Javascript Debugger - Where is the opera equivilent? Bloated? It adds one menu item in tools and an optional icon on the toolbar for easy access
      • Web developer toolbarThis is something no web developer should be without. You can edit the css of the site you're viewing! You can resize the browser to common sizes to check it renders okay. Opera equivilent?

      So you're not a web developer? How about things like FxIF which lets you view Exif data from digital camera shots off the web - find out the camera model used to take the photo as well as the settings.

      Opera is lean, and it's fast and compared to IE, it just rocks. But featurewise, it doesn't come close to firefox and that can wholely be attributed to extensions.

    37. Re:So I'll be the first to say it.... by Anonymous Coward · · Score: 0

      For some reason process explorer seems to display sometimes totally obscene numbers when everything appears to be ok on task manager. I have no idea what's the difference about.

    38. Re:So I'll be the first to say it.... by glesga_kiss · · Score: 1
      For some reason process explorer seems to display sometimes totally obscene numbers when everything appears to be ok on task manager. I have no idea what's the difference about.

      Don't trust the Task Manager. It only lists resident memory by default IIRC. You want the full application image size to determine how much memory it is really using.

    39. Re:So I'll be the first to say it.... by JordanL · · Score: 1

      The Javascript Debugger - Where is the opera equivilent?

      Why that would be Tools > Advanced > Javascript Console. (Something I use routinely).

      Web developer toolbar This is something no web developer should be without. You can edit the css of the site you're viewing! You can resize the browser to common sizes to check it renders okay. Opera equivilent?

      Nice, but hardly a deal breaker, especially for a web developer that codes by hand like me. I always design in Opera, because I know that if it renders correctly in Opera, I've got it in IE and FF.

    40. Re:So I'll be the first to say it.... by whitehatlurker · · Score: 1
      I've been running Opera on Sun boxes for years. They have gotten rid of that annoying bug ;-)

      Sorry, don't know about FreeBSD. I would like to try Opera on OpenBSD.

      --
      .. paranoid crackpot leftover from the days of Amiga.
    41. Re:So I'll be the first to say it.... by Anonymous Coward · · Score: 0

      I don't need Edit/Window/Help/etc; with a menu editor you even compact it to under 3. Why not include it in preference?
      And why bother to compare to IE?

    42. Re:So I'll be the first to say it.... by Anonymous Coward · · Score: 0

      The Javascript Console in Opera only allows you to *view*. Try the Debugger to see the difference.

      Well may be you're satisfy with vi/edit, many others prefer integrated tools to make life easier.

    43. Re:So I'll be the first to say it.... by mewphobia · · Score: 1
      Why that would be Tools > Advanced > Javascript Console. (Something I use routinely).

      Cool, since you use it so routinely you'd know it's a javascript console not a javascript debugger. Firefox has a javascript console built in too, and one that is significantly better than Opera's. Firefox's javascript debugger on the other hand, lets you set breakpoints and watch variables without the uglyness of a million alert()'s. There is no competition.

      Nice, but hardly a deal breaker, especially for a web developer that codes by hand like me. I always design in Opera, because I know that if it renders correctly in Opera, I've got it in IE and FF.

      That's cool man, the analogy I think of is building a house without power tools. Sure, you can do it, if your time is worth nothing. Time is money.

      I've got a friend who will mow the lawn without a grass catch on his mower, then rake it up and tells me it took him 3 hours to mow his lawn. I do it with the catch in just over an hour, with a catch, and somehow he thinks he has done more work than me. He HAS done more work than me, in calorie terms, i guess - but if you get the same result with less work, I say you're mad not embracing technology.

      Seriously though, i do a lot of stuff by hand too (cue masturbation joke) - the web page developer toolbar can just save heaps of time doing long winded tasks. How do you ensure your webpages look correct in 800x600 resolution? Sure, I COULD change my display resolution, wait for my display to change, maximise firefox, look at it and then change it all back again. OR i can just do it in two clicks so the browser resizes.

      Just give it a try before you knock it.

  13. Quick Fix by I_am_Rambi · · Score: 3, Informative

    about:config then search for browser.sessionhistory.max_total_viewers and set it to 0. This will be 0 pages in the cache per tab. You will get a reload slow down since FF will be going out to the web. You can manually set this to 2 or whatever you want. By default FF will cache upto 8 pages per tab with 1 gig of memory or more.

    1. Re:Quick Fix by Anonymous Coward · · Score: 0

      Why is this set to -1 in my browser 1.5.01? What will setting the integer to 2 really do?

    2. Re:Quick Fix by Anonymous Coward · · Score: 0

      OMFGHAX0RZ!!!!11!11!1one!11!

    3. Re:Quick Fix by masklinn · · Score: 1

      Because it's the default value / it'll set the fastback caching to 2 pages maximum

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    4. Re:Quick Fix by SanityInAnarchy · · Score: 1

      If the page has been changed. It's possible to ask the server when the page was last changed, meaning that if it hasn't been changed, reload is just a re-render.

      --
      Don't thank God, thank a doctor!
    5. Re:Quick Fix by JimXugle · · Score: 0

      Ahhh I see. Thanks!

      --
      -jX

      Don't you just love politics? It's like a comedy of errors.
    6. Re:Quick Fix by dzfoo · · Score: 1

      The artcile contains an "Edit" note at the end saying that the "per tab" claim was inaccurate, and that the cache is global, per session. So this is not a big issue.

              -dZ.

      --
      Carol vs. Ghost
      ...Can you save Christmas?
    7. Re:Quick Fix by juan2074 · · Score: 1
      In about:config, try using the filter. It saves time, so you don't have to scroll through the whole list.

      You can put a partial string (like 'browser.sessionhistory.ma') and get all matching preferences.

  14. At least it can be changed... by The-Bus · · Score: 1, Redundant
    From TFA:

    For those who remain concerned, here's how the feature works. Firefox has a preference browser.sessionhistory.max_total_viewers which by default is set to -1. No more than 8 pages per tab are ever cached in this fashion, by default. If you set this preference to another value, e.g. 25, 25 pages will be cached for every tab. You can set it to 0 to disable the feature, but your page load performance will suffer.


    For those that don't know or remember, the preference is accessed by typing about:config in Firefox's address bar. Let's see if there's still a leak after you change the option. I know when I close tabs the memory usage doesn't go down.
    --

    Small potatoes make the steak look bigger.

    1. Re:At least it can be changed... by martinultima · · Score: 1

      So the way I see it is this – you turn it off, page performance suffers because of lack of cache. You turn it on, page performance suffers because of lack of memory. Ah, choices...

      Well, I guess I may as well find a different browser since I obviously can't fit Firefox, KDE, Enlightenment, OpenOffice.org, The GIMP, and not to mention every game on my system into my laptop's 96MB of RAM :-) Nah, just kidding.

      Seriously though, a lot of the time if I don't need JavaScript or CSS, I'll just pull up Dillo. So much faster... and Konqueror kicks ass too, especially with the embedded file manager / SSH file transfer client / embedded terminal emulator...

      --
      Creative misinterpretation is your friend.
    2. Re:At least it can be changed... by techno-vampire · · Score: 1
      I know when I close tabs the memory usage doesn't go down.

      Depending on how the heap gets allocated and when, it's possible that the tabs you still have open are "above" the ones you've closed, so they can't be released yet. As an example, if you have five tabs open, and close the second one, the cache for tabs 3, 4 and 5 will be past that for the one you closed. Have you tried closing the newest ones first?

      --
      Good, inexpensive web hosting
    3. Re:At least it can be changed... by kalirion · · Score: 1

      I've closed all of my tabs before, and the darn thing was still using 400+MB. What kind of a feature is that????

    4. Re:At least it can be changed... by techno-vampire · · Score: 1

      It isn't a feature, and it never was one, either. It's a bug that they don't want to fix. Take a look at this definition at FOLDOC, paying particular attention to section six.

      --
      Good, inexpensive web hosting
  15. Just for the record... by Spy+der+Mann · · Score: 1

    yes, it was a joke.

  16. Write to a file by hpygocrazy · · Score: 1

    Too bad they don't write that cached pages to a file isn't of retaining them in memory. The load time would be slower than being read from memory but faster than reloading from the web site.

    1. Re:Write to a file by Anonymous Coward · · Score: 0

      u iz stewpid

      Everybody at /. besides you knows the operating system should do that automatically for any memory that hasn't been accessed recently.

  17. Somebody call Redmond by dedazo · · Score: 1, Troll
    Someone needs to remind the IE team that this is not - I repeat not - one of the Firefox features they have to copy.

    And this better be easily disabled. As in a checkbox in a dialog, not having to hack about:config. I don't pay $$$ per month for broadband just to have the browser playfully load teh interwebs into my RAM so I can "perceive" more speed.

    It's ridiculous that Firefox uses 700MB of memory with 4 tabs open (right now, btw). They need to fix this, not engage in creative PR.

    --
    Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
    1. Re:Somebody call Redmond by openldev · · Score: 0

      What are you talking about? I have 7 tabs open right now & am using only 47MB of memory ...

    2. Re:Somebody call Redmond by dedazo · · Score: 1
      What are you talking about?

      Your options are:

      1. I'm making this up because I have nothing better to do.
      2. Firefox does not release memory when closing tabs, and in fact leaks memory throughout a session until it usually crashes.
      3. You're lucky.

      Pick any one, as long as it's #2.

      --
      Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
    3. Re:Somebody call Redmond by FhnuZoag · · Score: 1

      I'm picking number 3. In most of my Firefox installs, I don't experience a memory leak problem. Perhaps a platform specific problem?

    4. Re:Somebody call Redmond by Anonymous Coward · · Score: 0

      I have 35 tabs open (lots of large pages) and I'm using ~100Mb.

    5. Re:Somebody call Redmond by masklinn · · Score: 1

      I pick 4 "stop browsing porn sites displaying more than 500 full-size images per page". And firefox 1.5 does release the memory associated with a tab when you close the aforementioned tab btw.

      --
      "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
    6. Re:Somebody call Redmond by dedazo · · Score: 1
      stop browsing porn sites

      HAR-HAR! But no, don't assume everyone wastes time the same way you do. When I wrote that post I had four tabs open: GMail, an article on Der Spiegel, a test site on my box and the Slashdot page I was typing into. Of course it had been open for at least a day. A whole day. Maybe that was too much? Should I close it at least every 12 hours? Eight hours? Four? Maybe I should just close it every time I want to navigate to another page? That should plug any memory leaks for sure!

      And firefox 1.5 does release the memory associated with a tab

      I'll tell it you said that. Maybe it will remember it's supposed to do that now. Thanks!

      --
      Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
  18. So... by Trogre · · Score: 1

    Where is the prefs.js option that lets me turn this feature OFF ???

    --
    "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
    1. Re:So... by Trogre · · Score: 1

      Well would you look at that. After R'ing TFA I found the option right there taking up half the article:


      For those who remain concerned, here's how the feature works. Firefox has a preference browser.sessionhistory.max_total_viewers which by default is set to -1. When set to this value, Firefox calculates the amount of memory in the system, according to this breakdown:
      RAM Number of Cached Pages
      32MB 0
      64MB 1
      128MB 2
      256MB 3
      512MB 5
      1GB 8
      2GB 8
      4GB 8

      (reference: nsSHistory.cpp)

      No more than 8 pages per tab are ever cached in this fashion, by default. If you set this preference to another value, e.g. 25, 25 pages will be cached for every tab. You can set it to 0 to disable the feature, but your page load performance will suffer.


      I'm still not fully convinced though - I can have a dozen windows open with 20 tabs each and after a few days that takes up a lot of memory as expected. However you would expect that memory to be released when you close most of the windows/tabs. Not the case. You have to actually exit the entire program before any memory will be freed. And it's not just 'ps' reporting shared libraries since the entire system performance suffers noticeably.

      I wonder if the CloseTab() function forgets to clear the history buffers for that tab? Maybe it's time to investigate talloc().

      --
      "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
  19. I'm all for features, but... by adminsr · · Score: 1

    I sure wish this was an optional *feature*.

  20. NOT per tab by savala · · Score: 5, Informative

    Ben was mistaken, it's cached globally.

    See this comment by Boriz Zbarsky:

    Ben, those numbers are NOT per tab. The bfcache is global; there are never more than 8 pages total in bfcache (and you need to have 1GB of RAM for this to happen). Most users have 3 or 5 pages in bfcache at any given time.

    and this comment by David Baron:

    The point of bug 292965 was that the pref should be global, not per-tab. Is that not working correctly?

    (Boris and David are back-end developers; they have much more working knowledge of this than Ben does.)

    Also, there are actual memory leaks in Firefox. See this weblog post about progress on that. However, as that weblog post says as well, most excessive memory usage that people are seeing is entirely due to faulty extensions.

    1. Re:NOT per tab by rbarreira · · Score: 1
      Ben, those numbers are NOT per tab. The bfcache is global; there are never more than 8 pages total in bfcache (and you need to have 1GB of RAM for this to happen). Most users have 3 or 5 pages in bfcache at any given time.


      So what's the explanation for Firefox to use so much RAM sometimes? Don't tell me that 8 pages explain the 124 MB of memory firefox is currently using on my computer (which btw only has 768 MB of memory)!
      --

      The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
    2. Re:NOT per tab by Anonymous Coward · · Score: 0

      The explaination remains: "Firefox is a poorly written program with memory leaks that haven't been fixed in over a half decade."

    3. Re:NOT per tab by kbrosnan · · Score: 1

      That is a very normal amount of RAM useage for Firefox. If you want to tweak Firefox's RAM usage then you can read the Mozillazine Forums's One and only memory useage thread

      --
      These people look deep within my soul and assign me a number based upon the order I joined. -Homer Simpson
    4. Re:NOT per tab by renoX · · Score: 1

      > most excessive memory usage that people are seeing is entirely due to faulty extensions.

      Not true.. FF use way too much memory quite often for me and I've not installed any extension (unless you count Flash as an extension).

    5. Re:NOT per tab by kalirion · · Score: 1

      My work computer has 1GB of RAM. Once in a while I catch Firefox using over 400MB of RAM, and I have to close it to release the memory. Is that "normal" as well? I haven't seen it happen yet with 1.5.0.1, but that may be because I've been conditioned to regularly restart the browser....

    6. Re:NOT per tab by hatless · · Score: 1

      Extensions that have been found to have memory leaks or other crash-prone bugs should not be readily available to mainstream users. For users who already have a leaky extension installed, there should be a means of distributing alerts to users. I'd put it in the metadata on the update and extensionroom sites and show the alerts during routine checks for updates.

      If the Mozilla Foundation is serious about continuing to expand the browser's adoption, users should be given the tools they need to have the best browsing experience possible, and should not have torun their own debugger and profiler to figure out why the application is leaking memory when the culprit has already been identified in Bugzilla. Warning users away from leaky extensions and discouraging their installation in the first place would also provide developers with a strong incentive to fix the problems.

    7. Re:NOT per tab by Zathrus · · Score: 1

      I've not installed any extension (unless you count Flash as an extension).

      Flash is a plugin, and plugins do not get unloaded when the page using them is no longer displayed. Furthermore it's widely believed that the Flash plugin is a huge memory leak in and of itself.

      Uninstall the Flash plugin and I bet your memory usage will remain stable.

      Note that Adobe Reader and Java are also plugins, and they can (and do) use large amounts of memory.

    8. Re:NOT per tab by renoX · · Score: 1

      I doubt it: there is no flash (or only some ads) in the website I'm visitating..

      I think that FF doesn't release correctly the memory used by images.

      The strange thing is that even if I have 1GB of RAM, when FF use 300MB it slow down quite a lot (takes a long time to maximise for example) even though I have lots of RAM still free.

  21. Why doesn't closing tabs free memory? by cibyr · · Score: 1

    Ok, great, so having lots of tabs open uses lots of memory to cache all those pages and some history... but why doesn't that memory get freed when those tabs get closed? Just now I had about 16 tabs open and FF was using 58MB (up from about 40 before opening some of them). I closed half those tabs and the VM size is 54MB.

    --
    It's not exactly rocket surgery.
    1. Re:Why doesn't closing tabs free memory? by rbarreira · · Score: 1
      --

      The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
  22. Re:Ready... Aim... by Anonymous Coward · · Score: 0

    The humor in all of this is, you don't really have a gun and you would never really shoot someone, as your post suggests you are man enough to do. Grow up.

  23. Re:spyware with IE or memory leak with FF.. by ashot · · Score: 0, Flamebait

    there are many many other reasons to switch to Opera as well.

    --
    -ashot
  24. What I'd like Mozilla devs to do by A+beautiful+mind · · Score: 5, Insightful
    Let them release 2.0, but then try to focus on:
    • fixing the practically fixable bugs (not the design decisions)
    • making code performance improvements (faster, with less memory!)
    • security auditing
    ...for a half year or a year. I don't need new features, I'm currently happy with the ones I have and I'd prefer the current features working securely, in a speedy fashion and mostly without bugs. This time period would also give enough time for extensions to mature more.

    Before someone jumps at my throat, it's just a description what I'd like to see, but of course its all up to the developers, they decide what to code and do with their time. It is just simple user feedback.
    --
    It takes a man to suffer ignorance and smile
    Be yourself no matter what they say
    1. Re:What I'd like Mozilla devs to do by Anonymous Coward · · Score: 0, Flamebait

      This is just Mozilla getting back to doing what Mozilla does best, making crappy software. For years with every Mozilla browser release we were promised a fix to all the bugs and each time they either failed to deliver or they fixed some existing bugs but created new ones. This is why they started fresh with Firefox instead of wasting time trying to fix the bazillion bugs they had in Mozilla. For a while it seemed like they were actually on the right path with Firefox, but now it seems like they've reverted back to the Mozilla of old.

      It's not all bad though, there's always Opera and IE7.

    2. Re:What I'd like Mozilla devs to do by Anonymous Coward · · Score: 0

      That sounds great in theory, but there's a couple of critical factors that'll stop it ever happening:
      - nobody would be blogging about "great new features" for 6 months
      - people may be blogging about the bugs & insecurities

      3/4 of Firefox is publicity, and Moz making the *much needed* decision to just stop further dev till they get their issues sorted would be seen as them admitting their browser's not (anywhere near) what it's hyped up to be.

      Also it'd leave the craploads of SpreadFirefox tards with nothing to do, or talk about. You wouldn't want to silence that generation (born in the 90's) would you? ;)

    3. Re:What I'd like Mozilla devs to do by Anonymous Coward · · Score: 0

      Bullshit. There hasn't been a single firefox release that wasn't an improvement over the previous one. It's still fast as hell. It's as fast as fucking IE, and IE has the advantage of being loaded with windows.

  25. Firefox is the most unstable program in common use by Futurepower(R) · · Score: 5, Informative

    See Firefox is the most unstable program in common use.

    The Firefox CPU hogging bug makes a computer unusable until all Firefox windows and tabs are closed. Basically, Firefox uses first maybe 10%, then maybe 20% of the CPU, and, as Firefox windows and tabs are opened and closed, continues taking more of the CPU time until Firefox is closed. This CPU usage is with NO Firefox activity, or any activity of any program.

    This bug is more than 3 years old. It is extremely difficult to characterize; no one has succeeded yet. Here are some clues:

    Somehow Thunderbird and Mozilla share this bug. Sometimes when Firefox is taking say, 94% of the CPU, and Firefox is closed completely, Thunderbird or Mozilla will begin using a lot of CPU time. Very weird, but it often happens.

    Firefox 1.5.0.1 is much worse than 1.5, which is worse than earlier versions. This suggests that there is some resource in Firefox that is being more overused as features are added.

    The CPU hogging bug continues unchanged when Firefox 1.5.0.1 is installed with a clean profile and no extensions.

    Too many mouse clicks too closely spaced will often increase Firefox's CPU usage, or sometimes cause it to crash.

    --
    Before, Saddam got Iraq oil profits & paid part to kill Iraqis. Now a few Americans share Iraq oil profits, & U.S. citizens pay to kill Iraqis. Improvement?

  26. sounds good to me by ummit · · Score: 1

    Why is everyone bitching about this? I hate waiting for any refetch or rerendering when I use the Back button; I want it to be instantaneous. That page was fetched and rendered aslready, so having the browser keep it around for when I go back to it is exactly what I'd want it to do.

    1. Re:sounds good to me by Anonymous Coward · · Score: 0
      Of course you love it, fanboy. If it wasn't open source, you'd be trying to make it rain.

      Beat it.

    2. Re:sounds good to me by ummit · · Score: 1
      Sure, but fan of what? I'm using Safari under OSX at the moment...

      > Beat it.

      Spoken like a true AC. :-)

    3. Re:sounds good to me by Skater · · Score: 1

      Because they can?

      Reading some of the posts in this article, you'd think RAM was something that can't be reused and has to be replaced after a program touches it. :)

    4. Re:sounds good to me by Freexe · · Score: 1

      I love this feature as well, it has changed the way I use other features as well.

      I tend to do quick searches on words/acronyms and look up offtopic subjects in wikipedia for a quick overview.

      Then I rockback to the page I was at in the blink of an eye!

      ps. I use Opera though/

      --
      "In a time of universal deceit - telling the truth is a revolutionary act." - George Orwell
    5. Re:sounds good to me by jlarocco · · Score: 2, Interesting
      Why is everyone bitching about this? I hate waiting for any refetch or rerendering when I use the Back button; I want it to be instantaneous. That page was fetched and rendered aslready, so having the browser keep it around for when I go back to it is exactly what I'd want it to do.

      You've totally missed the point. People aren't bitching because the back and forward buttons are faster. They're bitching because the memory used for the fast back/forward is never released. Because Opera implements the same feature even faster and doesn't use >85% of physical memory after 20 minutes. Because a web browser should not use >1 GB of RAM because it's left open over night.

    6. Re:sounds good to me by ummit · · Score: 1

      Fair enough. Do you know if they're bitching about Firefox under Linux, or under Windows, or what? In my experience, with a proper VM implementation, programs that are memory hogs don't destabilize the entire machine, and if they do, I think the OS bears at least part of the blame.

    7. Re:sounds good to me by jlarocco · · Score: 1

      In my experience it seems a little worse under Linux, but the Windows machine I use at work has 2 gigs of RAM and is twice as fast as my Linux machines at home, so it could just be I notice it more on Linux. But the entire machine isn't usually destabilized on either OS, which is a plus, I guess.

  27. Mod this guy up by SydShamino · · Score: 1

    Damn that's sweet. I had no idea.

    --
    It doesn't hurt to be nice.
  28. seems snappier by miyako · · Score: 2, Informative

    firefox's memory usage has always been a thorn in my side. I tend to average around 20 to 25 tabs open, usually while I'm running other ram hungry applications. Firefox generally was eating up about 200-250 megs of ram on my machine (and I've seen it go as high as 600 megs). After changing the browser.sessionhistory.max_total_viewers to 0 and running "top" firefox seems to be using about 46 megs of ram right now. It also doesn't feel particularly slower than it did before. I have a feeling that the benefit of caching so much was actually having a negative return after a certain point because the machine was so starved for ram.
    On a side note, if anyone is like me and looks in about:config for browser.sessionhistory.max_total_viewers and doesn't see it, you have to actually add the line. Right click and choose "new" then type in "browser.sessionhistory.max_total_viewers" and then 0 (or whatever you like).

    --
    Famous Last Words: "hmm...wikipedia says it's edible"
    1. Re:seems snappier by vonsneerderhooten · · Score: 1
      Err...

      I just looked, and 'browser.sessionhistory.max_total_viewers' is -1. Any thoughts?

      Using FF1.5 on FC3.

    2. Re:seems snappier by robertjw · · Score: 1

      -1 can mean unlimited.

  29. Simple solution by vertinox · · Score: 1

    Buy more RAM!

    Seriously, I think 1024MB of ram doesn't cut it these days. Maybe we should just accept 4gb of ram will be the norm in 2007-2008. I seriously could use it with other memory hungry apps that are sluggish *coughs* Illustrator *coughs* Indesign *coughs*.

    --
    "I am the king of the Romans, and am superior to rules of grammar!"
    -Sigismund, Holy Roman Emperor (1368-1437)
    1. Re:Simple solution by Anonymous Coward · · Score: 0

      Right...

      "I need 4gb of RAM please."
      "What for, are you a graphic artist?"
      "No, I want to surf the web."

      uh huh.

      I have another, even simpler solution, that doesn't require you to pay anything:

      Opera

    2. Re:Simple solution by Anonymous Coward · · Score: 0

      I've had Firefox hit 1.5GB of virtual memory usage. Any other brilliant ideas you'd like to shit out? Stupid fuck.

    3. Re:Simple solution by Anonymous Coward · · Score: 0

      You must be fucking joking. I'm sitting right here, running KDE 3.5 and Firefox and, acording to ksensors, I'm holding 6MB of swap and 193MB of RAM. Where in the fuck does someone need more than 512 to browse the web and write some emails? are you dumb?

    4. Re:Simple solution by jlarocco · · Score: 1
      Buy more RAM!

      I hate people like you. My computer from 10 years ago could browse the internet, and it had a whole 32 MB of RAM. It stands to reason that now, on my computer with 15 times more memory, I should be able to browse the internet. And do other things! At the same time!!!

      Also, maybe you haven't noticed, but the type of crap on the internet hasn't changed much in the last 8 years or so. There's a lot more of it, but nothing to really justify a web browser using 400 megs of RAM when they used to use

    5. Re:Simple solution by HeroreV · · Score: 1

      Hey I just found out that 1.5 is less than 4! Really, it's true! Even though 1.5 has two digits and 4 only has one, it's still somehow smaller! I don't understand it either, but that's what my math teacher told me!

  30. releasing memory by DreadSpoon · · Score: 5, Interesting

    The answer to that is pretty simple:

    The heap, where dynamic allocations occur, is only allowed to grow or to be truncated. An application cannot release memory in the middle of the heap without also releasing the memory at the end of the heap.

    So let's say Firefox makes 10 one-page allocations, and frees the first 9. The memory layout might look something like:
    XXXXXXXXXU (X- unused, U- used)

    Those 9 pages worth of memory aren't being used, but it's impossible to release them back to the OS.

    Thankfully, there is some good news: when Firefox needs to allocate more memory, it can and will just reuse those 9 unused pages instead of allocating more memory from the OS and growing the heap.

    The best solution to this problem is to use a compacting garbage collector. Which is something that Java and C# and other higher-level langauges can easily make use of (and many do use them), but which C and C++ can't really make use of given the complete lack of compiler support. That's one reason why a Java or C# app can actually out-perform a similar C/C++ app, especially with a good native-code compiler and an library implementation with a modern GC.

    1. Re:releasing memory by N7DR · · Score: 1
      but which C and C++ can't really make use of given the complete lack of compiler support.

      I wouldn't know about C, but this statement is utterly false as applied to C++. Replacing the default new and delete routines is perhaps not for the inexperienced C++ programmer, but to say that there's an complete lack of compiler support is simply wrong. It is true that out-of-the-box C++ does not have a compacting garbage collecter, but one can certainly be written (and used, of course) with any conformant compiler.

    2. Re:releasing memory by syukton · · Score: 1

      What is the technical feasibility of a button that is labeled "shrink heap" which would move all used memory to the beginning of the heap and truncate the heap, thereby freeing the unused memory?

      ie: XXXXXXXXXU becomes UXXXXXXXXX and then the (XXXXXXXXX) block is dropped, leaving the amount of consumed memory at one page (U)?

      What is the ease of implementation of such a feature? Could you ballpark it on a difficulty scale of 1 (least) to 10 (most)?

      --
      Reinvent the wheel only at either a lower cost, greater effectiveness, or your own personal enrichment and satisfaction.
    3. Re:releasing memory by cortana · · Score: 1

      Wouldn't all pointer references then have to go through some kind of lookup table, so that the objects could be relocated by the runtime without breaking them?

    4. Re:releasing memory by Anonymous Coward · · Score: 2, Insightful

      An application cannot release memory in the middle of the heap without also releasing the memory at the end of the heap.

      That's not strictly true. If the hole is larger than 4k (or 8 if it's not page-aligned), there are two things that can be done.

      You can decommit the page, but keep it reserved. This frees RAM, decreasing the process's memory usage, but still takes up some of its address space. You MUST coalesce free heap blocks in this case, because all data in those pages is lost. This also requires extra housekeeping.

      Or you can keep it committed, and the OS will push that memory out to the page file. This is done pretty much automatically, but it's more lazy. In Windows, you can somewhat force this by minimizing all windows owned by the process.

      The best solution to this problem is to use a compacting garbage collector.

      Unless you've done actual research, I wouldn't be so quick to say that. It's certainly the easiest solution if you're using a language that doesn't use real pointers, but there are numerous possible solutions.

      Eg, you could allocate pages for large objects like this directly from the OS rather than using a heap. Then freeing objects in the middle is no problem at all.

    5. Re:releasing memory by stefanlasiewski · · Score: 1

      it can and will just reuse those 9 unused pages instead of allocating more memory from the OS and growing the heap.

      But then the heap is still huge, right? Firefox will reuse those 9 unused pages, but if each page takes 1MB in the heap, Firefox still has 132MB sitting there in the heap, unused.

      I have one page which triggers the memory leak-- It's a system monitoring page, which refreshes every minute. This page is critical to my job, and I would keep this page open forever if I could. However after 24 hours Firefox will grow to be over 150MB in size.

      Combine this with high memory usage in Outlook and the Antivirus/firewall suite, and we're talking 350MB. Ouch!

      --
      "Can of worms? The can is open... the worms are everywhere."
    6. Re:releasing memory by mrsbrisby · · Score: 2, Interesting

      You can decommit the page, but keep it reserved. This frees RAM, decreasing the process's memory usage, but still takes up some of its address space. You MUST coalesce free heap blocks in this case, because all data in those pages is lost. This also requires extra housekeeping.

      mmap() can do this, but on many systems [s]brk() cannot. brk() is also alot faster than mmap().

      This is really moot on most systems; don't do a lot of little allocations that you're going to keep around for a while and DO use pooled allocators that can use mmap(). It requires planning, but it really does pay off for applications that need an awful lot of memory in stages.

      This is (by the way), why many C compilers are implemented in "stages", so that they don't have to worry about crap like this. Allocate as needed, and the next stage exec() will automatically compact and garbage collect any pages used in the previous stage that aren't needed here (that weren't passed to the next process using mmap or pipes).

    7. Re:releasing memory by mrsbrisby · · Score: 1

      I wouldn't know about C, but this statement is utterly false as applied to C++. Replacing the default new and delete routines is perhaps not for the inexperienced C++ programmer, but to say that there's an complete lack of compiler support is simply wrong. It is true that out-of-the-box C++ does not have a compacting garbage collecter, but one can certainly be written (and used, of course) with any conformant compiler.

      What you'd need to be able to do is move an object in memory and yet make all of the pointers that referenced the object in the original place still work. C++'s object system pretty much makes this as close to impossible as can be.

      You need assistance from something greater than your language, and it just so happens with many C libraries, this can be done very easily- simply use mmap() for allocating your chunks instead of malloc() for "large objects". You wouldn't want to do it everywhere (i.e. you wouldn't want to replace new/delete with it) because performance would suffer greatly.

      In order for C++ to do it with anything resembling "reasonable" performance, you'd need to derive your new/delete from a pooled allocator. This'd mean an additional argument to new/delete to specify the pool and would not be transparent or compatible, or really even very much like C++ programming at all.

      Interestingly enough, Objective-C does use pools, and when using an autopromoting realloc, all this page-level compacting already happens automatically.

    8. Re:releasing memory by Eustace+Tilley · · Score: 1
      In order for C++ to do it with anything resembling "reasonable" performance, you'd need to derive your new/delete from a pooled allocator. This'd mean an additional argument to new/delete to specify the pool and would not be transparent or compatible, or really even very much like C++ programming at all.


      You would use a class-specific operator new, no? That way you would not need an additional argument to specify the pool.
    9. Re:releasing memory by Bloater · · Score: 4, Insightful

      > Wouldn't all pointer references then have to go through some kind of lookup table, so that the objects could be relocated by the runtime without breaking them?

      Only on a computer without virtual memory. In a PC (which *has* virtual memory), you just punch holes in the memory.

      What happens is a process gets an "address space", into which pointers can point, but any given address may not map onto some real storage. The process asks the operating system to map a range of addresses onto real storage which the operating system will try to map to real fast memory when it thinks it will be used at any moment. When the OS figures the memory wont be needed for a while, and something else needs some memory, the OS copies the data to disk and redirects the mapping to a proxy that will pull the data back into memory when the process tries to use it again.

      When a process knows that it won't need a section of that real storage, it can tell the operating system to unmap it from the address space.

      There are various other things that go on, but that's the simple story. From a figure posted in an earlier message, it seems that opera does pretty damned well (in comparison to most modern programs) with just the simple story, not having to rely much on nasty unreliable heuristics. Of that I am impressed.

    10. Re:releasing memory by xenocide2 · · Score: 4, Informative

      That's one way, but you'd have to somehow instruct the compiler to use that for every pointer dereference. The easier method is to go in and change the values during compaction. Compaction is also known as stop-and-copy; it starts with a live set, everything you can reference from the stack, then copies over only the live objects while modifiying every pointer that uses it. It's messy but it works. Allocation is dead simple and fast. There's no fragmentation. And the runtime is limited by the live set rather than the heap size. There is a huge downside, however.

      I wouldn't recommend mixing anything resembling C pointer maths with compaction, since its incredibly difficult to tell what's a pointer and what isn't (in fact, without modifying the compiler, it can't be done in C or C++). For this reason, the Boehm collector (a collector that replaces new and delete) goes for the Mark-and-Sweep method instead of compaction. Because you dont move objects, you don't have to worry about figuring pointers. Boehm's collector is also called conservative, not only because it doesn't modify live objects, but also in that it treats any data on the stack or in the heap as a potential pointer. If the data points inside the heap, the object containing that address is marked. This can lead to false positives on occasion, but there's no helping that without any support from the compiler (again contradicting the grandparent). The good news is that a false positive isn't going to cause direct harm in mark and sweep. All that happens is that space that could be used isn't; Boehm claims this is irrelevant in today's operating systems with virtual memory, although I doubt you'd see an entire page's worth of false positives. Certainly, I can't do any better than him.

      In language R&D labs where people are paid quite well to think hard and long about things, they tend to use both approaches in what's called a "generational" collector. Young objects can be copied or collected as needed, while older objects are mark/swept away as needed. This works because old objects much more likely to stay than new ones. Last I knew, both Java and C# use generational techniques, because it makes sense in most nearly every case. However, as I described above, C++ doesn't have that, and even those libraries that replace new and delete have conventions and costs associated with it. I certainly wouldn't try to take Boehm and pidgeonhole it into Mozilla. And even if you did, it still wouldn't solve the compaction problem. All you can do is hope the virtual memory manager is doing it's job well. Even though the application and garbage collector is more likely to know what's useful than the VM manager.

      --
      I Browse at +4 Flamebait

      Open Source Sysadmin

    11. Re:releasing memory by Klootzak · · Score: 3, Insightful

      Excellent post, well worth the +5.

      But you pointed out the flaw in the wording of the article - this IS NOT a memory leak, just inefficient use of the heap.

      I thought the definition of a memory leak was an application that kept allocating memory from the OS as it ran, not an application that asked for a chunk of memory and just reused it inefficiently?
      (If I'm wrong, someone please correct me).

      --
      A Man's ethical behavior should be based effectually on sympathy, education, and social ties -- Albert Einstein
    12. Re:releasing memory by Anonymous Coward · · Score: 0

      Regarding the extra argument, it should not be required for a good allocator implementation. Look up Alexandrescu's online articles on small object allocators, although he does not address the relocation issue.

      T

    13. Re:releasing memory by BZ · · Score: 1

      If a specific page causes a memory leak, please file a bug! With a reproducible testcase, it should be fixable.

    14. Re:releasing memory by hdante · · Score: 1

      Hi,

      I've been thinking about this for some time and I don't agree with your solution. I believe it would be much better if caching, in general, were an operating system managed resource. For instance, Linux kernel caches things, Firefox caches things, X caches things. All those caching would actually go into free memory, not only the kernel cache. Memory should be considered unallocated for cache and while no program requests it, memory cache is still there. If memory usage grows, cache is thrown away. Since it's managed globally, only the really most recent data stays in memory.

      IMHO, this "cachefs" thing is the most useful missing feature in Linux. I can't think of any practical flaw about this. Maybe difficulty in implementation, I don't know.

    15. Re:releasing memory by angel'o'sphere · · Score: 4, Informative


      I wouldn't know about C, but this statement is utterly false as applied to C++.
      No, its not false, its true.

      Replacing the default new and delete routines is perhaps not for the inexperienced C++ programmer, but to say that there's an complete lack of compiler support is simply wrong.

      And? What do you mean with compiler support for heap compacting (or GC)?

      Q: What has replacing new and delete with your own implementations to do with garbage collection?
      A: Nothing

      Q: How would new and delete of class A be able to compact a heap by moving allocated instances of class B down?
      A: Difficult!

      Q: So if you now add a class C you like to rewrite A::new and B::delete to also cope with class C instances?
      A: I assume you understand that EVERY delete of EVERY class needs to know EVERY other class to be able to compact the heap, yes?

      It is true that out-of-the-box C++ does not have a compacting garbage collecter, but one can certainly be written (and used, of course) with any conformant compiler.

      Indeed, but not by merly only by replacing operator new and delete.
      Existing C++ garbage collectors are very limited to more or less conservative garbage collecting. See e.g. Boehms c++ / C garbage collector.
      And, the mere point of garbage collecting if you want to start nitpicking is: you don't ever call delete.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    16. Re:releasing memory by Profound · · Score: 5, Funny

      >> That's one reason why a Java or C# app can actually out-perform a similar C/C++ app

      Maybe in theory, but in practice 99.9% of the world uses C++ browsers because the Java ones suck.

    17. Re:releasing memory by angel'o'sphere · · Score: 1

      Yes you have. Thats what Java et all does.
      And ignore the other answer ;d while the guy is right about physical memory allocation in principle; his answer has nothing to do with relocateable heapspace and garbage collection.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    18. Re:releasing memory by DreadSpoon · · Score: 1

      Estimate: impossible.

      In order to automatically compact the heap the entire process, including all of its libraries and other runtime components, must supply meta-data describing which values in memory are pointers and which are not. With C and C++, supplying that information is impossible. The closest you can get is the Boehm GC method of supplying memory layout information, but that doesn't apply to the stack. It also requires an enormous amount of effort without using some kind of preprocessor, and you are banned from using many common pointer tricks.

      If you want a compacting collector, you're going to have to develop entirely in a language like Java, C#, Python, or another high level language.

    19. Re:releasing memory by dhasenan · · Score: 1

      It isn't impossible, but it would probably slow you down a fair bit. The easiest way would be to keep the heap separated into two halves most of the time. Then one gets a bunch of holes in it; you copy data back and forth until one's mostly filled and the other is nearly empty; then you shrink the second to a minimal size.

      Or you could simply create a new heap and compact everything onto that, then get rid of the old heap entirely. Or, if you don't want any overhead associated with a second heap, just copy it raw, empty the heap, and push everything back onto the heap.

      It's not difficult per se, but it takes time, time accessing memory, and that's relatively slow. Especially when things have been swapped out of RAM. Moreover, this allows for more potential buffer overflows and such.

    20. Re:releasing memory by Anonymous Coward · · Score: 0

      Isn't this kinda a moot point though? Unless Firefox allocates so much that you run out of total memory (RAM + page file). Even if it has 100 MB allocated to fast back resources, all those pages should get moved onto the disk eventually if the user isn't going back and forth, and then they won't take any physical memory from other processes.

      Unless, of course, firefox touches those resources at inappropriate times (like when the user doesn't hit the "back" button (i.e. when it is not supposed to)), in which case the OS will keep those pages in physical memory, and will affect the performace of other apps.

      Or maybe I'm not recalling my schooling on Windows/UNIX VM managers correctly...

    21. Re:releasing memory by Anonymous Coward · · Score: 0

      Additionally, if the operating system is decent, it will notice that those pages aren't being used and will swap them out before other inuse pages. So while it temporarily takes up Virtual RAM, the system can still reclaim the Physical RAM and use it for other applications.

    22. Re:releasing memory by Anonymous Coward · · Score: 0

      It should be noted that this is only true for operating systems that use sbrk (Linux, etc). The Windows heap does not have this limitation.

    23. Re:releasing memory by mrsbrisby · · Score: 1

      You would use a class-specific operator new, no? That way you would not need an additional argument to specify the pool.

      That would work if you had a class like BigCachedObject that all of your big cached objects could derive from (each being their own pool) but nobody does this in practice. Instead you've got a very small HTMLView object that contains an HTMLDomNode tree that's a bunch of pretty small objects linked together, a HTMLRenderedBlock tree which is a bunch of pretty small objects linked together and so on.

      If you had a class specific new that used mmap() for HTMLDomNode or HTMLRenderedBlock, then you'd be making a big mistake as each of those objects are below the system page size and your performance would suffer greatly. On the other hand, a class specific new on HTMLView wins nothing either.

      Worse still is if you create a bunch of temporary HTMLView objects within scope that you free before leaving the current scope (or parent), so the heap (or even the stack!) is much more appropriate.

      Instead you'd need a way to specify a class specific new "when assigning the allocated object to a member of an instance of class X"- something C++ simply cannot do (as new has no idea what it's being assigned to).

      In this situation, I suggest people use a class static method like HTMLRenderedBlock::newRenderedBlock(PoolManager*po ol=0), but that's not "new" now is it?

    24. Re:releasing memory by Anonymous Coward · · Score: 0

      The hard part isn't compacting the heaps, it's updating the stack.

      Say you've got something at the beginning, something at the end, and empty space in the middle. You move the end part to the middle, and truncate the allocation. Now what's the obvious problem?

      Not sure. Ok, let's define a memory leak: A memory leak occurs when a region of the program heap is marked allocated but there is no memory in the program heap, or stack which points to it (ie, the OS thinks it's used but the program has no clue).

      So if memory isn't leaked?
      Yes, if it's not leaked then there's some value within the program heap or stack that points to it: It's a one word value that works out to the memory address of the used memory.

      Now, where in those 100MB is that pointer? Just search for it you say? Ok, what if I find the value in the middle of a chunk of an image... That's not it right? That's a different type of data.

      Crap, that means you have to know something about the program's stack (and thereby the heap) to look for the pointer to the memory (or pointers).

      So what does this mean? It's possible, but you'd be better off using one of the GC's already written since that's what you're writing!

      Of course the best thing firefox could do to alleviate these complaints is have a thread and an object which stores references to all cached page renders. The thread wakes up every 15 seconds and checks to see when all of them were last used. If it's more than 5 minutes and the page isn't in focus it free's it and notifies whatever needs it.
      This is work. And the easiest solution for ya'll now is to simply turn down the number of pages or realize that memory is meant to be used. And since it's cheap, developers are going to make heavy use of it.

      Memory is cheaper than processor cycles. And it's going to be growing faster now (since single threaded programs can't be helped much by a dual core, quad core, etc).

    25. Re:releasing memory by mrsbrisby · · Score: 1

      Regarding the extra argument, it should not be required for a good allocator implementation. Look up Alexandrescu's online articles on small object allocators, although he does not address the relocation issue.

      The key here is not a good [general purpose] allocator, or a small object allocator, but a very specialized allocator implementation- one that handles very large cache "objects" made up of many smaller objects.

      Managed languages solve this by relocating pointers- or by using indirect pointers (where the target can be relocated safely). Modern operating systems that support paging often give applications the ability to manipulate pages, which means that pages can simply be "discarded" out of order as the underlying hardware is providing the indirect pointer.

      The problem with paging is that languages aren't designed for paging, and malloc()/new interfaces cannot get enough information for some tasks.

      Pool-allocators DO work well with paging, but they require information that malloc()/new don't provide- hence the "extra" argument.

    26. Re:releasing memory by Alban · · Score: 1

      Huh? No, those 9 pages of memory get freed and are available for re-use, but they could only satisfy a contiguous memory request the size of 9 pages. Hence, the fragmentation. But that memory is not wasted.

    27. Re:releasing memory by Anonymous Coward · · Score: 0

      the simple way of working around malloc/free's inability to return memory to OS is to circumvent it. All you need to do is create a private heap in a memory mapped file (via mmap on linux/unix) and then you have complete control over calling munmap to return pages to the OS.

    28. Re:releasing memory by hobbes75 · · Score: 1

      Yes, you are completely right. Unfortunatley this is quite difficult (but not impossible) to implement with current operating system structures.
      The cache management you are talking about would work best for a system with a single address space and a GC that could keep some kind of weak-pointers to objects with timestamps alive until there is need for memory.
      The single address space would require the sole use type-safe programming languages to guarantee the "independance" of the programs, so we are not going to see this soon.
      (There are also quite some unsolved problems with single address space systems. Some of them are getting irrelevant with 64 bit HW architectures, others remain to be solved)

    29. Re:releasing memory by Anonymous Coward · · Score: 0

      There's at least three commercial implementations of a GC for C++ that I know of off the top of my head. It's simply not true that it's a language dependent feature.

      On the other hand, I don't know of any way to force Java not to do GC.

      This is one of the true distinctions between the languages. C++ gives you a lot of choices to make and a lot of power; that means you have to be a lot more expert in the language itself to use it well and safely. Java (and many other languages) make most of those choices for you, and don't allow the alternatives. Thus, you can get by with a lot less expertise in the language itself without as much risk.

      Note that this isn't a matter of geek-pride mad skillz. Both design styles have their place. I don't necessarily need or want my daily commuting vehicle to be an on-the-edge racing bike, even if I'm perfectly capable of handling the latter. And if I need to move a convoy with 3000 tons of supplies across the country, I might make still a different choice of vehicle.

    30. Re:releasing memory by Duhavid · · Score: 1

      Hey! You stop that.

      Making rational statements.

      Imagine someone saying that one size doesnt nessesarily fit
      all. That maybe you should look at the problem and thinking
      before choosing tools.

      --
      emt 377 emt 4
    31. Re:releasing memory by Ex+Machina · · Score: 1

      Mod parent up.

    32. Re:releasing memory by isorox · · Score: 1

      How dare you slander my browser of choice

    33. Re:releasing memory by nothings · · Score: 1
      You're hugely confused and/or misinformed, or you replied to the wrong post.

      Implementing compaction of memory would require either indirecting all references or going through memory and updating all pointers to the objects that are moved; the latter can't be done in C/C++, and the former could be done in C++ but only clumsily.

      What virtual memory does provide is that you don't need to worry about fragmentation in some cases. You have virtual addresses and physical addresses. When dealing with memory allocations that are larger than a page, you no longer need to find a contiguous region of physical memory of that size; you just need to find a contiguous region of virtual memory of that size, and you can use arbitrary physical pages to fill that in.

      If your malloc/free/new/delete interacts well with the OS (allocating multiple-page objects to their own pages), you can free unused virtual pages back to the OS. Now you're fragmenting virtual memory, but if your app only uses, say, 256MB, you still get 2^30 or 2^31 bytes of address space in which it can try to get consecutive virtual memory pages to fulfill requests. Of course, if your app uses nearly as much memory as the application address space, this is no help, and if your app uses lots of smaller (sub-page-sized) blocks, this is no help, and if your malloc/free doesn't interact with the OS nicely and return unused pages in the middle of the heap, this is no help.

    34. Re:releasing memory by julesh · · Score: 2, Insightful

      The good news is that a false positive isn't going to cause direct harm in mark and sweep. All that happens is that space that could be used isn't

      Or an allocated page leaks. While the collector's "blacklisting" approach minimises the amount of this that happens, it does still happen from time to time.

      Boehm claims this is irrelevant in today's operating systems with virtual memory, although I doubt you'd see an entire page's worth of false positives.

      I'm not entirely sure I agree with him. Consider, for example, applications that store large arrays of seemingly random data on the stack (e.g. compressed data). As the amount of this data tends towards (2^32/PAGESIZE)*4 bytes (= 2^24 bytes, or 16Mb), the number of pages blacklisted should approach half of available virtual memory, reducing to 2Gb the memory available for the application on a 32 bit address system (i.e. todays standard). 2Gb is a lot, but many applications are starting to get close to that. And doubling the amount of randomised data on the stack will halve it, I think.

      Boehm does most of his work on 64 bit platforms these days. I'm not surprised that he's unconcerned about virtual address space usage.

      That said, it's very simple to avoid this pitfall: use GC_MALLOC_ATOMIC to allocate any space that will store apparently-random data. You just have to understand how the garbage collector works, and code around it, to avoid such problems. I guess we're looking at a leaky abstraction here, as always.

    35. Re:releasing memory by IamTheRealMike · · Score: 1

      Interesting. Could you name these commercial C++ GC implementations? Googling for "c++ garbage collector" basically brings up the Boehm GC and nothing else. I'm not saying they don't exist, I'm sure they do, but I'd like to find out more. Oh and .NET/Managed C++ doesn't count ;)

    36. Re:releasing memory by Anonymous Coward · · Score: 0
      So let's say Firefox makes 10 one-page allocations, and frees the first 9. The memory layout might look something like:
      XXXXXXXXXU (X- unused, U- used)

      Those 9 pages worth of memory aren't being used, but it's impossible to release them back to the OS.


      This is just plain wrong. The memory is requested from the system by doing an mmap of /dev/zero, and therefore any part of the allocation can be given back to the system by doing an munmap, up to page granularity. This is possible, the allocator of Glibc just doesn't do so. Large allocations however (>128k iirc) are not allocated from the heap but by a direct mmap, and they are immediately returned to the system when they are freed.

    37. Re:releasing memory by gbjbaanb · · Score: 1

      in comparison to C#, MS's C++ has the generational garbage collector, but you have to use its managed extensions to access it. On the other hand, C++ has so many garbage collectors (just google) that you can always find one that fits your needs exactly without taking the bundled general purpose version.

    38. Re:releasing memory by _xeno_ · · Score: 1

      Firefox uses a custom allocator, located in the Netscape Portable Runtime in nsprpub/pr/src/malloc/prmalloc.c , so I can tell you with certainty that it uses sbrk() and not mmap().

      Firefox (or, rather, the NSPR) will attempt to return memory to the OS when the final pages are clear using sbrk() if it can.

      This is really moot on most systems; don't do a lot of little allocations that you're going to keep around for a while and DO use pooled allocators that can use mmap().

      Ooo boy, XPCOM uses lots of little allocations, and the NSPR allocator doesn't use mmap()...

      --
      You are in a maze of twisty little relative jumps, all alike.
    39. Re:releasing memory by Soybean47 · · Score: 1

      No, you're right. Firefox does this, and it has a memory leak.

    40. Re:releasing memory by petermgreen · · Score: 1

      http://msdn.microsoft.com/library/default.asp?url= /library/en-us/memory/base/virtualfree.asp

      i don't see anything restricting you to only freeing the last page you allocated!

      now of course you would need a smart malloc that tried to group new allocations together when memory usage wen't down so that entire pages could actually be released but with a good allocator things should not be anywhere near as dire as you make out

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    41. Re:releasing memory by stefanlasiewski · · Score: 1

      It is difficult to file a bug in these cases.

      Each of these cases occurs on an internal server, so it is hard for me to provide a use case. I've seen it with system monitors such as Nagios, Sitescope and Cacti. Not sure how I could file a bug for that without some sort of external demo site.

      --
      "Can of worms? The can is open... the worms are everywhere."
    42. Re:releasing memory by Bloater · · Score: 1

      > You're hugely confused and/or misinformed, or you replied to the wrong post.

      I replied to the wrong post. The parent didn't quote the context properly and I forgot what we were talking about :)

  31. Huh? by countach · · Score: 4, Insightful

    Uh, using a lot of memory is not the same as a memory leak.

    1. Re:Huh? by Keeper · · Score: 1

      When you're using more memory than is available on the system, does the distinction really matter?

  32. Don't bug me by joeytsai · · Score: 5, Interesting

    I think this submission is confusing two points. First of all, is this really a memory leak? A program that uses a lot of memory is not necessarily a leaking program. A memory leak is a programmatic error where memory is allocated but never freed, even when there's no way to use that object again. As the program continues to allocate memory, the heap size of the process increases until eventually the OS terminates the process (eg., the OOMKiller). Actually, many applications you normally use leak memory - but as long as they don't waste a ridiculous amount of memory most people don't care, especially since most process lifetimes are relatively short (compared to a daemon process like apache), and after termination the OS reclaims all the program's memory, leaked or not.

    What is being described here sounds much more like a cache of recent pages, which in my opinion is perfectly sane for a browser. Sure, maybe the cache is a bit overzealous, but even if that's the case, just disable it - worse case scenario, you edit the source. But otherwise, this is definitely a feature - I can promise you it's much more programming effort to save old pages for a quick redraw than to free the old page and replace it with the new.

    So I guess the discussion here is, "is it right for firefox to use so much memory?" My answer is yes. It is not a memory leak, it seems like a very valid design decision. But if you disagree, old versions of firefox still work great (I still haven't upgraded myself).

    --
    http://www.talknerdy.org
    1. Re:Don't bug me by iamnafets · · Score: 1

      Brilliant, encourage people to use the older versions with security holes? And why doesn't this cache just get dumped to the HDD, sure you don't get nanosecond response time, but you do get a whole lot less whining?

    2. Re:Don't bug me by Anonymous Coward · · Score: 1, Interesting

      FWIW, I tried disabling said feature months ago with virtually no difference in memory usage (and no extensions installed).

      Firefox 1.5 was regularly using 1GB+ of memory under normal browsing with _one_ tab. I have 1gb of actual memory so it was spilling over into the page file on the hd and affecting all other programs. Personally I've never seen such an obscene memory leak on non beta software, even from IE. However, now that I'm using 1.5.0.1, I haven't seen it go over 200mb of memory usage. Clearly there was a major problem somewhere that was fixed.

    3. Re:Don't bug me by Anonymous Coward · · Score: 0

      Additionally, if the allocated memory is not used for a long time, it gets paged out to HD to free up some physical memory (ie. on RAM). Increasing your pagefile size to 4GB-RAM_SIZE should be good enough. it worked for me.

      and i think most people complaining about heavy mem and CPU usage are linux users. currently i have two FF windows, total of 6 tabs, AutoCAD, MSVC6, iTunes + couple of low mem usage progs open on Win XP Pro. FF mem use: 40MB, total CPU use: 4%.

      I think you should start reviewing Linux coding practices and standards instead of blaming FF developers.

      disclaimer: I am not opposed to using Linux, nor am I a M$ proponent.

    4. Re:Don't bug me by Tim+C · · Score: 1

      But if you disagree, old versions of firefox still work great (I still haven't upgraded myself).

      I've found Firefox to be a memory hog for the last several versions. There may well be an issue with this feature using lots of RAM, but it's been a general Firefox problem for a good couple of years now. People have been complaining about it for a long time.

  33. A limitation of the C library by tepples · · Score: 1

    but why doesn't that memory get freed when those tabs get closed?

    In most implementations of the C library, malloc() is implemented in terms of sbrk(), which adds memory to a program's heap but never releases it until the program closes.

    1. Re:A limitation of the C library by Ekarderif · · Score: 1
      Last time I checked,
      malloc()
      ed memory is released upon calling
      free()
      .
    2. Re:A limitation of the C library by bersl2 · · Score: 1

      I would like to point out that in modern versions of glibc, large malloc()s are implemented with anonymous mmap()s (the threshold is configurable). And OpenBSD's malloc() doesn't use sbrk() at all. I suspect that they combine small allocations into the same page, so that you don't have to allocate a whole page for every small bit of memory.

    3. Re:A limitation of the C library by tepples · · Score: 2, Interesting

      memory is released upon calling free()

      Too many C libraries' implementation of free() release memory back to the application, not to the operating system.

  34. Lots of good info, mods! by RingDev · · Score: 1

    Lots of great replies to me pet peeve, I hope some mods dish some points out to these posters!

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    1. Re:Lots of good info, mods! by Anonymous Coward · · Score: 0

      Hmm. My pet peeve is assholes who put their signature in every post, rather than the SIGNATURE AREA!!!!! Are you illiterate, clueless, or just so self-important that you have to make sure we all see your signature, even if we don't want to?

    2. Re:Lots of good info, mods! by RingDev · · Score: 1

      Uh, I've typed -Rick in every email, post, and correspondence for the last 5 years. I'm sorry my typing habits require you to download an extra 12 bytes of data.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  35. Amazing! by Elladan · · Score: 1

    Of course, my copy of firefox will leak about 10 megabytes a second if I just go to a page with hundreds of jpegs on it
    and hit shift-reload over and over again.

    I wonder if that's a feature too?

    (Even better, it doesn't leak Firefox process memory, but rather X11 pixmaps)

  36. Re:Wow. If this excuse had come from MS... by Anonymous Coward · · Score: 0, Insightful

    Uhuh. It's the same with Google.

    One minute we're all pro-civil liberties, pro-free speech, anti-censorship, anti-repression but the moment Google wants to do business in China, 'they're only following the laws of that country', they're doing nothing wrong. Switch with Microsoft and they'd be 'dealing with an evil regime, shame on them' yadda yadda.

    Same with Nintendo. Bash Microsoft and Sony for coming out with unoriginal sequels yet Nintendo are such innovators for bringing out Metroid Fusion, Super Smash Brothers Melee and Super Mario Rainbow Warrior.

  37. so what? by ShaneThePain · · Score: 1

    I already have a task bar at the bottom of my screen. I just open a seperate window. Who needs tabbed browsing? Its just more screen real-estate wasted on another useless bar. Use the windows task bar! OPEN A SEPERATE WINDOW!

    --
    Fascism is the greatest political ideology ever conceived. Sorry.
    1. Re:so what? by rbarreira · · Score: 1

      Yeah, because everyone likes having 1-pixel-wide window miniatures on their task bar. And don't talk me about the "group similar windows" feature (which btw only appeared on Windows XP), that sucks for a lot of programs (such as MSN Messenger for example). Unless you have a way to enable that option just for Firefox - and even then, it would only work on Windows XP, not 2000 (which a lot of people use).

      --

      The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
    2. Re:so what? by TheEvilOverlord · · Score: 1

      I so totally agree, I don't get the point of tabbed browsing. Whatever happened to multiple windows and ALT-TAB?!

    3. Re:so what? by Wooloomooloo · · Score: 0

      They have been obsoleted by tabbed browsing and Ctrl-Tab.

    4. Re:so what? by Anonymous Coward · · Score: 0

      I currently have fifteen tabs open in Konqueror, in addition to a text editor (with four files open), another instance of Konqueror being used as a file manager (two tabs, one of them as a split pane), and a Konsole window (also tabbed) with four sessions in it. If I were to have those all in separate windows, that'd be 26 separate windows. And this isn't exactly a lot of stuff. I can easily get up to 30 tabs in a single browser window. Opening multiple windows becomes unusable once you go past 8 or so. Coincidentally, that's usually when Windows XP starts grouping things unless you told it not to.

      The concept of a taskbar just sucks when you have lots of windows. Personally, I can't use it for more than six or seven windows without some augmentation (virtual desktops are OK, but not ideal). With something like Apple's Expose you can get up to twenty windows.

    5. Re:so what? by fimion · · Score: 1

      Whoa, wait... Macs have a microsoft task bar???

    6. Re:so what? by xtieburn · · Score: 1

      Even before tabbed browsing I would have enough windows open to fill the task bar, it was verging on unmanagable. Now that Ihave tabbed browsing and ill occaisionally explode a set of pages up in to over 50 odd tabs at a time there is simply no reasonable way of having that going on in the start bar.

      Heck now im using opera and it auto remembers all the pages I pretty much have 10 to 15 tabs open the moment I load the browser.

      Maybe you just use a couple of windows. A lot of people use a heck of a lot more its why tabs are a feature being added to every browser.

    7. Re:so what? by thetaco82 · · Score: 1

      I suppose you put all of your paperwork in the same hanging-file as well? I don't know about you, but I actually like to use my computer. I routinely have 10 different application windows open at once, and I would probably freak out and start beating my dog if I had another 20 browser windows open. Tabbed browsing is nice because I can open and close tabs with middle-click, and I can actually read the titles of my application windows. Also, if I'm chasing down pages on multiple topics, I can open a new window for each group of tabs. Logical organization is desirable to many people. If you don't like it, don't open new tabs.

    8. Re:so what? by TheEvilOverlord · · Score: 1

      Okay so maybe I'm just strange, I hate the utter waste of screen space the tab bar creates, I don't even have the taskbar/wharf showing, I keep track in my head.

  38. What if you have source code and change it? by WillAffleckUW · · Score: 1

    Is it still a feature then?

    Or is it - instead - a personally-resolved memory cache integrity issue that you submitted to the code base?

    Huh?

    --
    -- Tigger warning: This post may contain tiggers! --
  39. Close all tabs, still tons of RAM consumed by shodson · · Score: 1

    I'm not buying this. Even if I close all of my tabs after several hours of use firefox.exe can still be taking up to 100MB of my RAM. The only way to completely reclaim the memory is to completely shut down firefox.

    1. Re:Close all tabs, still tons of RAM consumed by rbarreira · · Score: 1
      --

      The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
  40. Re:spyware with IE or memory leak with FF.. by SimplePaul · · Score: 1

    Go for it. You won't look back.

    Opera's memory usage is excellent - especially when dealing with images.

    The tab management is a lot more advanced than FF too, imo.

    If FF is lagging on you... and IE is not secure... why are you not using Opera yet??

  41. Why does Opera work well, and not Firefox? by Futurepower(R) · · Score: 4, Informative
    More clues:

    • Opera has none of these problems. So, the quote from the Mozillazine blog shown below, although it is typical, is not supported by the facts.

    • Whatever causes the CPU hogging bug is definitely associated with extreme memory use. No doubt there are leaks, but this is not a leak, since it is not necessarily associated with greater use of Firefox.

    • Users often report that just leaving Firefox open overnight causes CPU hogging and extreme memory use.

    • The problems are the same in Mozilla browser.

    • It's good to test Firefox with a laptop in a quiet environment. When you hear the laptop fan begin to run while there is no activity, you know Firefox has begun to suck CPU cycles.

    • Putting a computer into standby or hibernation often makes the CPU hogging bug much worse. That's why Firefox users sometimes just leave their computers on.

    • When a computer takes a long, long time to start from standby, you know Firefox is taking CPU cycles. What about coming out of standby makes Firefox unstable? No other program has that problem.

    Quote from the blog linked in this Slashdot story About the Firefox "memory leak": "A lot of people complain about the Firefox "memory leak(s)". All versions of Firefox no doubt leak memory - it is a common problem with software this complicated."

    No other program in common use is so buggy. The problems in Firefox are not "common".

    Another quote from the linked Mozillazine blog: "What I think many people are talking about however with Firefox 1.5 is not really a memory leak at all. It is in fact a feature."

    That's not what the technical magazines, newsletters, web sites entirely devoted to Firefox problems, and even the mainstream media say. They say it is a serious problem.

    Mozilla developers have been denying that there is a serious problem for more than 3 years. It seems that it would be less work to fix the problem than to undertake a cottage industry of trying to convince people they aren't having problems. Mozilla developers have been impeding characterization by marking Bugzilla bug reports of these problems invalid.

    However, it is clear that it would take a serious scientific investigation; this is not an easy bug to characterize.
    1. Re:Why does Opera work well, and not Firefox? by geekoid · · Score: 2, Interesting

      I am using:
      Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12)

      And I can not duplicate any of those issues.
      When clicking forwadr and back buttons quickyl, I manged to spike at 60% for a brief moment.
      I have ahd it running all day.
      I do not use the feature that lets some of it stay resident so opening it up is quicker, so maybe the problem is there.
      Any clues on ther things I can try to duplicate this issue?

      to address this specific issue, more memory does not equal memory leak. Yes, the cahching mechanizim may be too agressive, but if it ahs been designed that way, then it is, in fact, a feature.
      Some other poster suggest setting changes that seem to take care of this issue.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    2. Re:Why does Opera work well, and not Firefox? by fungus · · Score: 1

      You don't understand.

      Those are FEATURES.

    3. Re:Why does Opera work well, and not Firefox? by jjackalb · · Score: 1
      When a computer takes a long, long time to start from standby, you know Firefox is taking CPU cycles. What about coming out of standby makes Firefox unstable? No other program has that problem.
      I've seen this problem for a very long time. The longer my laptop is on standby the longer it takes to wake up from standby. After being left overnight, the waking up process the next morning could take 5+ minutes. It took me a long time to figure out that it was Firefox causing this. Now I close Firefox before putting the machine into standby.
    4. Re:Why does Opera work well, and not Firefox? by Anonymous Coward · · Score: 0

      I never had any of those issues you talk about, I remember leaving Firefox running without closing it for about a week, reading lots of random stuff from wikipedia, slashdot, etc. It does use quite some memory (usually ~120MB), but Opera also uses almost the same amout of memory. I can't talk about standby/hibernation, I usually leave my PC turned on, sometimes I sleep listening to some shoutcast station.

      What I had experienced is that both Firefox and Opera use HUGE amounts of memory if you start browsing large photo galleries, just try browsing and looking at the full resolution images from a few friends' DeviantArt pages, or take a look at some SuicideGirls photo sets, and you'll notice the browser eating lots of RAM pretty quickly. The problem is a little worse on Firefox, which can easily eat up 250MB, but I've got Opera using ~200MB, even after closing almost all tabs.

    5. Re:Why does Opera work well, and not Firefox? by Anonymous Coward · · Score: 0

      I must say, my browsing patterns with Firefox seem quite similar to the complainer's. Many pages, 30+ tabs open, back and forth (I'm a grad student). On my Scientific Linux workstation I've had Firefox open in this conf iguration for months at a time with no more than 200 megs of RAM used. On my Thinkpad (WinXP SP2) with 256 megs, I can get it to the same levels (and it does swap, but there's not much RAM) few out the RAM by doing the same, but as soon as I close the tabs the memory is reclaimed.

      I've never seen Firefox max out the CPU other than at rendering complex pages, and I've not seen it leak at all even after months of heavy use. Doesn't mean there's a problem that exists in the complainer's configuration, but it doesn't seem very widespread, in my experience or anyone in my lab (whose usage patterns are similar).

      Never had it crash on me either. So... who knows.

    6. Re:Why does Opera work well, and not Firefox? by dantheman82 · · Score: 1

      Very interesting, and I concur. I have 10 extensions in Firefox 1.5, all pretty mainline and hardly the cause of substantial leaks. However, I checked my setting and noticed the number was set to 20! Note: I did use a specially compiled stipe build that was supposed to be optimized for performance, so they set that a bit high I guess. However, that said, I keep 10+ tabs open at all times on my computer and I have noticed this exact thing - hibernate/standby exacerbates the memory leak problem in Firefox to the point that I sometimes have to kill the Firefox browser once it hits 94-100% of the CPU. Once it hits that high amount of CPU time, it never lets up and I have to kill the process. However, to make matters worse, any application with a browser embedded also starts sucking up close to 100% of CPU cycles, including Outlook 2003, Quicken 2004, etc. and they are ALL only a problem once Firefox acts up and starts spinning my 2.4GHZ CPU at 100% or so. I have to at some point restart or logoff the entire system, it gets that bad.

      It is definitely a Firefox problem and there is no reason the memory requirements are so massive and also that Java takes so incredibly long to load (as a side note).

      --
      This sig donated to Pater. Long live /.
    7. Re:Why does Opera work well, and not Firefox? by locofungus · · Score: 1

      I leave firefox open all week at work and don't see these issues either.

      However, I might not see this because I typically don't follow links within a tab but almost always right click "Open link in new tab" and then close that tab when I'm finished reading.

      So my left most tab is always the front page of news.bbc.co.uk and other than refreshing the page it (almost) never changes.

      --
      God said, "div D = rho, div B = 0, curl E = -@B/@t, curl H = J + @D/@t," and there was light.
    8. Re:Why does Opera work well, and not Firefox? by Anonymous Coward · · Score: 0

      i agree that it's a difficult bug to pin down, if for no other reason than the huge variety of OS/processor/memory/hard drive combinations used by the collective FF install base.

      on the other hand, i also think that however it is being handled in FF currently is not the best way. the sheer number of comments in this thread pretty much demonstrate that it *is* a problem for a non-trivial percentage of FF users.

      for me, FF has gotten progressively worse between 1.0.7 / 1.5 beta / 1.5 RC / 1.5 / 1.5.0.1 . i can't say for sure that the current version is markedly worse or slightly better than previous builds, but it's clearly much, much worse than it was, say, six months ago. i have a G4 powerbook, 1.25GB memory, and recently upgraded from 10.3.9 to 10.4.4. i still get about one FF lockup/crash per day, and now that i've started to run activity monitor on a regular basis, i can confirm that it is the CPU hogging problem that is highly correlated with these lockups. the memory usage also seems absurdly high (roughly 5x kernel_task for real memory on average!), but it's really the CPU load that seems to indicate when things are about to get brought to a grinding halt.

      -CF

    9. Re:Why does Opera work well, and not Firefox? by sisina · · Score: 1

      I typically don't follow links within a tab but almost always right click "Open link in new tab"

      Just click on a link with your scroll wheel, and it opens in a new tab.

    10. Re:Why does Opera work well, and not Firefox? by Anonymous Coward · · Score: 1, Insightful

      If your CPU/Memory problems persist in Outlook, et. al., then I posit the problem is NOT Firefox, but instead an OS library gone awry. Why? Those other programs use IE whether you like it or not. If it affects IE, then it is a library used by both Firefox and IE.

    11. Re:Why does Opera work well, and not Firefox? by sgtrock · · Score: 1

      I've seen the 100% CPU problem myself on FF 1.07, 1.5, and 1.5.0.1. I've seen the problem on Windows and Gentoo Linux. The only extensions that I run are Adblock, NoScript, and TalkBack. Believe me, if it ever happens to you, you'll know it.

      The only thing that I noticed was that certain websites seemed to trigger it pretty reliably. Maybe the thing those of us seeing the problem is to start making lists of websites that cause the problems. Set up a new bug to track them. There may be a common feature/bug/HTML rendering issue/malicious act that FF is stumbling over.

      Of course, that assumes that Mozilla QA will finally accept the bug as valid....

    12. Re:Why does Opera work well, and not Firefox? by wilcoxon · · Score: 1

      Are there bugs in Firefox 1.5? Yep.
      Are the CPU hogging and memory usage bugs happening to everybody? Nope.

      I have never, under any version of Firefox, seen the CPU hog bug. CPU usage on Firefox goes up to 100% when starting it up (at least partially due to the large number of Addons I have including SessionSaver) and then drops to almost 0% and never goes above 3-4% unless I am actively doing something.

      I commonly have two Firefox windows open with 20ish tabs in one and 5ish in the other. Memory usage tends to be around 250-300MB. Regardless of the number of tabs open, I don't think I've ever seen Firefox use more than 350MB of memory.

      I typically leave my desktop on all the time and suspend my laptop (Firefox on laptop usually has fewer tabs open) each night. I leave Firefox running for months at a time (on the laptop anyway - something usually crashes on the desktop system long before that (Firefox crashing or WoW locking up the system or EVE causing blue-screen).

    13. Re:Why does Opera work well, and not Firefox? by Anonymous Coward · · Score: 0
      Like you said, "this is not an easy bug to characterize." Mostly because most people don't come across. It's extremely difficult to reproduce. You say "no other program in common use is so buggy" but everyone I know that uses firefox has never encountered a single bug of the type you guys are describing. My complaint with it is that it doesn't pass the ACID2 test. Memory leaks? CPU hogging? Problems with standby? I left firefox on all night yesterday. I put my computer on standby all night yesterday. The same instance has been running all day today. CPU usage is 1-4%. Memory taken by firefox is 82mb (which is actually down from 250mb or so from yesterday, when I had more tabs on different sites).

      I am in no way trying to tell you that you or anybody else is making this up. But unless there are steps to reproduce the bug which you can provide, it's something which is going to take time. Few people (percentage-wise) run into this problem. You say it would take a "serious scientific investigation" to find it. Well, frankly, there's much more efficient things they could be doing with their time. The most you should expect from them is for they to take a look a any new clues, like the ones you provided, and see if they can use it to track down the bug. If it doesn't help, they keep it on record, and don't work on it anymore until more clues surface. Period. If you can't help them reproduce it, you can't expect anything from them. If you think you can do better, download the source code and have at it.

    14. Re:Why does Opera work well, and not Firefox? by locofungus · · Score: 1

      I didn't know that. Thanks!

      --
      God said, "div D = rho, div B = 0, curl E = -@B/@t, curl H = J + @D/@t," and there was light.
    15. Re:Why does Opera work well, and not Firefox? by bunratty · · Score: 1
      Opera has none of these problems
      Troll. Most Opera users 100% CPU usage problems.
      --
      What a fool believes, he sees, no wise man has the power to reason away.
  42. Re:Firefox is the most unstable program in common by Anonymous Coward · · Score: 0

    Why keep people on slashdot spreading this kind of FUD? The accounts are at best anecdotical, People here are using Firefox 1.5.0.1 on Windows XP & SUSE 10 on about 100 computers and it works just fine.

  43. Clone Window by rakslice · · Score: 2, Informative

    The Clone Window extension.

    Look it up, dingus. There's no reason that every web browser should behave exactly like IE out of the box. That's what the extension feature is for. =)

    1. Re:Clone Window by Anonymous Coward · · Score: 0

      Yeah, I also use (and love) Clone Window... to be honest, though, that and some of the other things I have extensions for are so simple in coding terms that it would be better to have them as preferences in about:config even if they weren't allocated space in the options dialogue. It's a waste of time messing around with an extension system that disables things when the main browser core updates.

      (I also love the nightly tester tools extension, but expecting novice users to find and use all of this stuff just to get a default behaviour they're used to and find useful is unrealistic. Just my two cents.)

  44. Re:Simple solution, make the RAM 640k by WillAffleckUW · · Score: 1

    Seriously, I think 1024MB of ram doesn't cut it these days. Maybe we should just accept 4gb of ram will be the norm in 2007-2008. I seriously could use it with other memory hungry apps that are sluggish *coughs* Illustrator *coughs* Indesign *coughs*.

    I personally think that noone will ever need more than 640gb of RAM. So let's hard code that in, shall we?

    --
    -- Tigger warning: This post may contain tiggers! --
  45. Re:spyware with IE or memory leak with FF.. by Ruprecht+the+Monkeyb · · Score: 1

    Opera (or at least recent builds) does the same thing regarding caching. I have a dozen or so tabs open now and Opera 9b2 is using 90MB of RAM and 125 of virtual memory.

  46. Re:Simple solution, make the RAM 640k by Ekarderif · · Score: 1

    I personally think that noone will ever need more than 640gb of RAM. So let's hard code that in, shall we?

    ???

  47. Re:Firefox is the most unstable program in common by Anonymous Coward · · Score: 0

    Did you read the bug reports, magazine articles, newsletters, and many, many anecdotes from users? No? Then why waste everyone's time commenting?

  48. There is another serious Firefox bug as well by cecom · · Score: 4, Informative

    Firefox crashes when two browser windows are making synchronous XMLHttpRequests. I have experienced this under Linux - I have no idea whether it is the same under Windows. Basically under Lunux all Firefox windows are running in the same thread utilizing a scheme of cooperative multitasking.

    So far so good. The bug appears when two separate Firefox windows are making periodic synchronous XMLHttpRequest-s. When such a potentially lengthy task has to be executed synchronously, Firefox creates a new "nested" event queue. If two (or more) browser windows are doing it at the same time, new event queues are created all the time and eventually (within 5 minutes) the application core-dumps.

    I found this by recompiliging Firefox with debug information and debugging it. Even if my interpretation of what happens is not completely correct, the fact remains - a simple JavaScript can crash Firefox causing all open browse windows to be closed.

    The solution is to always use asynchronous XMLHttpRequest (which is a better practice anyway) and to hope that the same problem doesn't appear in other places. Still, it is troublesome.

  49. two words: "totally" "wrong" by Mini-Geek · · Score: 2, Interesting

    The person that sent in this article is mistaken. In Firefox 1.0 the Memory Leak still existed without caching previous pages completely as is currently done. Do I need to say anything else? It may be possible that the new caching system worsens the problem slightly, but it's not the cause of it.

    --
    do {print "Mini-Geek Rules!\n";}
    until ($TheEndOfTheWorld);
    1. Re:two words: "totally" "wrong" by Anonymous Coward · · Score: 0

      I agree. Firefox 1.6a1 (Deer Park) seems to have fixed the memory leak. I've been using it for several weeks and have not seen the 1 Gig memory usage that I saw with the production version of Firefox.

    2. Re:two words: "totally" "wrong" by Anonymous Coward · · Score: 0

      Exactly! Bfcache was a relatively recent addition, and Firefox's memory bug predates it.

    3. Re:two words: "totally" "wrong" by Anonymous Coward · · Score: 0

      Thanks. I was beginning to wonder if anybody at all on /. was smart enough to figure that out.

  50. Re:spyware with IE or memory leak with FF.. by crabpeople · · Score: 5, Funny

    How can you trust the CEO after he didnt swim across the ocean?

    i could never stand behind a company like that and refuse to use opera products untill he makes good on his word. You cant just throw statements like that around. Browsers designed by liars are dishonorable browsers.

    --
    I'll just use my special getting high powers one more time...
  51. Re:Firefox is the most unstable program in common by Anonymous Coward · · Score: 0

    Hmm ... must be a Firefox on Windows thing. I've never seen this problem on my 'ix box (BSD).

  52. Re:Firefox is the most unstable program in common by crabpeople · · Score: 2, Interesting

    firefox currently sitting at 0% cpu usage. perhaps you should upgrade your pentium 133 :)\

    seriously, the only thing i could think of is that if firefox ran out of ram and had to start using the pagefile, that would eat up tonnes of CPU. This would also effect other programs on the system. Are you sure you have enough ram in the machine? I assume you can replicate this bug on more than one machine right?

    Ive had some sites crash firefox repeatidly but i cant think of any examples off hand.

    --
    I'll just use my special getting high powers one more time...
  53. Re:Firefox is the most unstable program in common by QuantumG · · Score: 1

    And here I was thinking that Outlook and IE ranked much higher on the scale of both common use and bugness.

    --
    How we know is more important than what we know.
  54. Re:My pet peeve! - mod parent up by Anonymous Coward · · Score: 0

    mod parent up - informative.
    how come the Ctrl-Z after Ctrl-T gets +5, but the post about the duplicate tab link (which allows Ctrl-Shift-T to create a new tab with exactly the same content *and* forward/back history) stays at Score: 1

    wtf?

  55. It's not a secret by whitehatlurker · · Score: 1
    This was documented some time ago, and even mentioned on slashdot. (It's not a duplicate if people don't know about it.)

    While the default setting of "use all memory available" might be a bit unfortunate, this is tuneable. (After all, you can't tuna fish, but you can tune a, well, browser.)

    Not an FF fan, but trying to be fair.

    --
    .. paranoid crackpot leftover from the days of Amiga.
  56. I guess... by sabit666 · · Score: 1

    I guess when I say `Yeah, right!' sarcastically, it is on behalf of firefox users with bullshit detectors turned on.

  57. Re:spyware with IE or memory leak with FF.. by springbox · · Score: 1

    If you haven't already read the article, you can actually change this setting so Firefox will end up using less memory than it does by default.

  58. I get it by Anonymous Coward · · Score: 0

    So Microsoft or Gnome are now leading the Firefox development? Because that looks like something just out from those camps. Ugh.

  59. Well by lord_sarpedon · · Score: 1

    Why not swap to on-disk cache after a certain timeout? That is, if the explanation given is accurate.

    --
    "Strangers have the best candy" -Me
  60. Ignoring the bifurcations.. by DeadPrez · · Score: 1

    I don't care if this is a bug or a feature, global or localized to multiple tabs and any other competing misinformation in the comments of this article.

    What I do want is a buttom I can place discreetly in the UI that lets me clear the memory cache in real time when firefox starts to get bogged down by this [feature and/or bug]. thanks in advance

  61. Firefox developers don't "get it" by Vellmont · · Score: 5, Insightful

    Memory isn't an unlimited resource you just hoard whenever you think you need it. Right now my instance of firefox is taking up 128 megs! I've seen it up to 256 megs before. This is just simply insane. I've seen people who's computer performance has gone down the tubes because firefox is taking up all the memory (and these are machines with 512 megs of memory, not exactly tiny). What I'd like to convey to the firefox devs is this: Your application isn't the only one running on the system. Play nice and don't be a hog.

    With the number of people complaining about this (and the number of people that don't even KNOW to complain) isn't it a safe bet that you've made a mistake in the amount of cached pages?

    --
    AccountKiller
    1. Re:Firefox developers don't "get it" by macshit · · Score: 1

      Memory isn't an unlimited resource you just hoard whenever you think you need it.

      No, but on modern operating systems with half-way decent memory management code, it's hardly the super precious commodity you seem to imagine. What matters far, far more is working set -- that is the amount of memory that the application is actively using within a short period of time (and not including, for instance, cached info like that described by the article) -- and total memory including swap space.

      Right now my instance of firefox is taking up 128 megs!

      Doesn't sound like much of a problem on a modern desktop system.

      [Well I don't know, maybe windows has crappy MM, I haven't used it recently.]

      Given the article writer's apparent cluelessness (e.g., he doesn't seem to know what the term "memory leak" actually means), and hyperventilating tone, I'd just write him off as a troll.

      --
      We live, as we dream -- alone....
    2. Re:Firefox developers don't "get it" by Nimey · · Score: 3, Insightful

      You could always close the browser when you're not using it. I close any non-daemon I'm not using, and it makes my system more responsive.

      --
      Hail Eris, full of mischief...

      E pluribus sanguinem
    3. Re:Firefox developers don't "get it" by Anonymous Coward · · Score: 0

      >> Right now my instance of firefox is taking up 128 megs!
      >>Doesn't sound like much of a problem on a modern desktop system.

      Windows XP starts up uses 130MB of RAM. Maybe it's not a problem when you only have Firefox running or have 1GB of RAM, but why use 128MB of memory when only 28MB is needed

      There're much better uses of the memory for things like disk cache than to be hogged by a program that just leaks resources.

      I tried Firefox and Mozilla first, then just got tired of the resource leaks and start looking for yet another alternative ... come upon Opera with much better features, more elegant interface, runs faster, and oh yeah, no leaks.

    4. Re:Firefox developers don't "get it" by Anonymous Coward · · Score: 0

      Which modern operating system is Firefox's memory wasting philosophy not a problem? It's definitely not OS X, Linux, or Windows. In fact it's similarly annoying to using Java programs that retain references to objects well beyond their usefulness to the detriment to the collector.

      The funniest thing is that you _really_ want this to be an excuse to flame Windows. You know, despite NT being more modern of a kernel than XNU, you just have to come out and embarrass yourself.

    5. Re:Firefox developers don't "get it" by Anonymous Coward · · Score: 0

      I really don't get what people are going on about. Firefox typically takes up about 40-60MB of RAM, and that's usually it, regardless as to what I'm doing. I've never seen it go over 80 unless there's help from Flash or some scripts. Right now, it's taking up 30MB of RAM. Opening up 20-or-so tabs for my homepage increases it to 40MB. Having left it for a while, it's still at 40. Wow. That's some really unoptimized code. I can definitely see what you're talking about with the leaks. What extensions are you using, anyway? My machine's got 512MB of RAM, and that's my experience - Has been every time I install it. Same with every other machine I've installed it on (with varying amounts of RAM below 256).

    6. Re:Firefox developers don't "get it" by swillden · · Score: 1

      Windows XP starts up uses 130MB of RAM.

      Well, there's your problem. Bring that down to a reasonable number and Firefox won't bother you any more.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    7. Re:Firefox developers don't "get it" by micheas · · Score: 1
      You could always close the browser when you're not using it.


      And you then get to lose all of your session data. What a wonderful solution. If you are using the internet to research a problem that you are actively working on, a browser that acts like it is the most important process running is a less than ideal solution.

      That said the biggest problem seems to be the adblock extention.

      Here firefox developers seem to want to have it both ways. They tout the wonders of all of the extentions, but refuse to help with the problems that these extensions cause. The absolute minimum is that they should be doing is hosting bug tracking for all the extentions that you can download from the find extentions feature.

      On windows systems with low memory, I use IE instead of firefox (running as a user, not administrator, and using the runas command to have windows protect me from the application.) , I didn't suspect that I had to turn off caching in addition to turning off prefetch.

      I'll give firefox another go next time I am on a win32 machine browsing. (speaking of win32 machines does anyone have a download of reactos 0.2.9?)

    8. Re:Firefox developers don't "get it" by Anonymous Coward · · Score: 0
      And you then get to lose all of your session data. What a wonderful solution. If you are using the internet to research a problem that you are actively working on, a browser that acts like it is the most important process running is a less than ideal solution.
      The GP suggested you close the browser when you are not using it. When researching something using a browser you are in fact using said browser, correct?

      There's also no reason to lose session data, just use Tab Mix Plus or any of the other session-saving extensions. TMP works very well for me.

      Oh, and I don't mean to be an apologist. I do think there is something fishy with Firefox's memory-handling that needs to be fixed, but for me it's never been as big a problem as some people make it out to be. I like Firefox because of its configurability, although Opera is very nice, too.
    9. Re:Firefox developers don't "get it" by juan2074 · · Score: 1
      And you then get to lose all of your session data. What a wonderful solution. If you are using the internet to research a problem that you are actively working on, a browser that acts like it is the most important process running is a less than ideal solution.

      Try using the Session Saver extension. Version .2 works pretty well these days.

    10. Re:Firefox developers don't "get it" by Anonymous Coward · · Score: 0

      Use Adblock+, not just Adblock--that'll cut down the amount of memory you use. Or, at least, it's working fine for me.

      Quite simply, there ISN'T much the browser can do if an extension eats up too much memory. They can starve it and make it crash or refuse to install it, but if you use a memory intensive extension, it's kinda odd to be surprised when it *gasp* uses a lot of memory.

      This is almost as bad as the guy whining because they couldn't fix a bug he encountered because he wouldn't or couldn't tell them anything about what caused it. Makes it damn hard to reproduce & fix, y'know.

      I keep envisioning an exchange like the following whenever I see those posts from that one guy who says his bug report on this has been ignored:

      I: "I'm having a problem."
      F: "Can you describe it to me?"
      I: "No, just fix it dumbass."
      F: "What sort of problem is it?"
      I: "QUIT YOUR DAMN EXCUSES AND FIX IT!"
      F: "I need enough information to reproduce it."
      I: "I HATE YOU! FIREFOX SUX!"

    11. Re:Firefox developers don't "get it" by micheas · · Score: 1
      Use Adblock+, not just Adblock--that'll cut down the amount of memory you use. Or, at least, it's working fine for me.



      Quite simply, there ISN'T much the browser can do if an extension eats up too much memory. They can starve it and make it crash or refuse to install it, but if you use a memory intensive extension, it's kinda odd to be surprised when it *gasp* uses a lot of memory.


      That's a good point, and useful information, but there is no real need for Adblock to take up the memory it does, and if the mozilla project is going to recommend extentions, they should also take bug reports about those extentions. (labeling them as not part of mozilla, is fine, but if someone reports a security flaw in a popular extention the current practice (as far as I can tell) would be to label the bug invalid, even though the only thing wrong about the report is that it is not part of the core build, but may be a concern for most users.

      I am just wish that mozilla would take responsability for their recommendations. (qualifying them by accepting bug reports would make me happy.)
  62. Such Refreshing Comments... by deltalimasierralima · · Score: 0

    Slashdot readers actually bashing Firefox for once....

  63. Firefox performance slowed to a crawl by Anonymous Coward · · Score: 0

    I've been using Mozilla Firefox for about a year now, and I started off loving it. However, a couple months ago I noticed the browser would "freeze" for a few seconds when loading a page, or after typing URL incorrectly. It has become almost unbearable, and I've tried clearing the cache regularly, uninstalling/reinstalling, and other measures, all to no avail. I've sought help online, but found nothing. I'm not sure what else to try, short of reformatting my desktop. Or.. going back to IE, which is my temporary (and unsatisfactory) solution. If anyone here has experienced similar problems, and found a solution, please share.

    1. Re:Firefox performance slowed to a crawl by HeroreV · · Score: 1

      It's probably from an extension. Adblock was causing the same thing for me when I had div blocking turned on.

    2. Re:Firefox performance slowed to a crawl by cruachan · · Score: 2, Interesting

      Give up and use Opera. Firefox is profoundly broken in combination with (a) memory leak being discussed and (b) memory leaks in plugins. The second seems to even include Flash, where some flash pages appear to be cache in active state and sit there using CPU cycles as well as memory.

      I think we've no got to the state where Firefox can be seen as a nice try, but no cigar. Opera on the other hand just works - and increadibly it's quick and lean too.

      I've no connection with Opera, just like many I've been through the "Dump IE, Use Firefox, Think Firefox is wonderful, Find Firefox's dreadful memory/cpu cycle leaks, Dump Firefox" cycle!

    3. Re:Firefox performance slowed to a crawl by pinkocommie · · Score: 1

      I agree completely but hate the Opera UI. I'm used to using a keyboard instead of the mouse as much as possible and know all the shortcuts (rightclick on link , press t to open in new tab etc) and trying to use opera despite its stability and performance was frustrating. Is there any firefox mode (keyboard shortcuts / pop up menu / pull down modifier) available for Opera?

  64. Opera by Anonymous Coward · · Score: 0

    Strange how opera can have even better page navigation speed with much smaller footprint.

  65. Re:Ready... Aim... by vsprintf · · Score: 1

    I promise, I won't do ANYTHING bad to him *whistles innocently* really! *Loads gun behind his back* :P

    . . . and accidentally shoots a nearby lawyer, leading to a case of conflicting emotions for the observers.

    (I couldn't help it. Really, I hope the old guy pulls through okay.)

  66. Debian's/Ubuntu's FireFox by Peaker · · Score: 1

    In addition to the memory/cpu hogging, Debianized FireFox also crashes very very often... :-(

    That's why I prefer Konqueror, and suffer from a somewhat limited web sometimes...

  67. The bug was tested extensively on Linux... by Futurepower(R) · · Score: 1

    The bug was tested extensively on Linux a considerable while ago, and it was the same, except that Linux recovers gracefully when a program goes crazy, and Windows usually needs to be re-started.

    However, a Firefox developer marked the bug report "Invalid" because he said it was not helpful.

    If you read the reports, it takes extensive use before the bug becomes really bad. Lots of windows and tabs, and a day's time. Most people don't have that usage pattern.

  68. This is not a memory leak by Anonymous Coward · · Score: 0

    A memory leak is a different thing. Someone needs a little CS 101.

  69. Congrads by missing000 · · Score: 1

    You failed to understand either the article or the post you are replying to. Your problem has nothing to do with the issue at hand here.

    1. Re:Congrads by Anonymous Coward · · Score: 0

      Dude.. He's just commenting on a similar memory related issue in Firefox. Just because you like Mozilla/Firefox doesn't mean readers should comment on only the exact same thing...Just look at any MS related issue.

        Welcome to the real world where one issue opens up another issue...Firefix is reaching good usage numbers now and bugs are gonna crop up from all directions.

  70. See Mozilla bug 286795 by lloydwood · · Score: 1

    https://bugzilla.mozilla.org/show_bug.cgi?id=28679 5. I opened a bug on this exact behaviour a while back. Pile in.

  71. Your usage pattern is different. by Futurepower(R) · · Score: 1

    A common argument about this bug is "It doesn't happen to me, so all those who report it must be wrong."

    Those people stop thinking at exactly the moment we need people to start thinking. As I said, the bug is extremely difficult to characterize. If it weren't, it would have been fixed in the past 3 years.

    It will take a very skilled logical thinker who knows debugging very well, I think, to find the bug. But, it's a huge one. After it is fixed, I'm guessing it will be easier to work on Firefox development.

    1. Re:Your usage pattern is different. by Anonymous Coward · · Score: 1, Insightful

      Welcome to the real world. If QA cannot duplicate a bug, then the chance that it'll be taken seriously is low, let alone being fixed. They don't have all day for one bug that's not reproducible by them.

    2. Re:Your usage pattern is different. by ben_1432 · · Score: 1

      Mozilla QA (Asa Dotzler)is a longer running joke than the memory leaks.

  72. Simple fix by Cryolithic · · Score: 2, Interesting

    Go to about:config Create a new boolean name it config.trim_on_minimize set it to true Next time firefox is using too much ram, quickly minimize it, then bring it back up. Done.

  73. Guess I should have previewed by Cryolithic · · Score: 1

    That previous post had newlines in it. Now it just looks like I have no understanding of punctuation.

  74. Re:Firefox is the most unstable program in common by Anonymous Coward · · Score: 0

    Well, I (Windows 2000) and 2 co-workers (Windows XP) have th usage pattern described by the other poster, and have never seen the CPU hogging bug. In my case, I have about 60 tabs open in 5 windows and FF has been open for about 3 weeks. Two of us have been using primarily FF since around 0.9. The memory situation has improved with FF 1.5 - it no longer increases every few seconds even with no use of the program.

    T

  75. CPU use: 41%. by Futurepower(R) · · Score: 1

    I'm posting this using Firefox. I just checked the CPU use: 41% with no activity, a clean profile, and no extensions, Windows XP SP2, all patches applied. Time to close all windows and tabs, and start over, the second time today.

    A common argument about the Firefox bugs goes something like this, "I didn't read everything that was reported. I duplicated one or two of the conditions. I didn't see the bug. Therefore, I am guessing that I am a LOT SMARTER than those who are reporting the bug.

    Little by little, Firefox development has become denial development.

    1. Re:CPU use: 41%. by joeytsai · · Score: 1
      Little by little, Firefox development has become denial development.

      If you are unsatisfied with Firefox, perhaps you should demand a refund.
      --
      http://www.talknerdy.org
    2. Re:CPU use: 41%. by Anonymous Coward · · Score: 0

      You using the acrobat plugin? I've noticed that the most recent version of reader does that, the plugin and the standalone. I've never had a problem with straight firefox, and I've been known to run it for a month of heavy browsing without closing it.

      I might be "a LOT SMARTER" than you, but I'm guessing we both know essentially nothing about programming web browsers.

    3. Re:CPU use: 41%. by iggymanz · · Score: 1

      funny, I"ve been using firefox all evening and my cpu usage is 1.3% doing nothing. Oh yeah, I'm not using Windows. My windows box at work sometimes has cpu usage pegged while doing nothing, and firefox isn't even involved.

  76. Re:spyware with IE or memory leak with FF.. by masklinn · · Score: 1

    Except that opera also has the fastback feature (it got it before firefox) and is subject to exacly the same memory issue (not accepting to admit it won't change it)

    --
    "The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
  77. Re:Ready... Aim... by Emetophobe · · Score: 1

    I find it hard to believe that someone would accidentally shoot a lawyer.

  78. Obviously there is a memory penalty with Opera by Chuck+Chunder · · Score: 1

    Though it is probable Opera is more efficient than Mozilla on a per page basis with it's quick back functionality it clearly still uses memory to do it so there is a 'memory penalty'. On the other hand memory is there to be used, having loads of free memory on your system is just a waste, it may as well be used to cache something if there is no other demand on it.

    Opera have been doing this for as long as I can remember though so it should be no surprise that it is better at it than Mozilla which has had the idea retrofitted to it relatively recently.

    --
    Boffoonery - downloadable Comedy Benefit for Bletchley Park
    1. Re:Obviously there is a memory penalty with Opera by diegocgteleline.es · · Score: 1

      Why not just use the disk to store the cache instead of memory? I wouldn't be surprised that opera is using the standard browser cache to implement this feature...

    2. Re:Obviously there is a memory penalty with Opera by dreemernj · · Score: 2, Insightful

      Opera uses disk cache and ram cache. It uses as much ram cache as it can for the speed benefit, and on older systems with less memory it tones down the ram cache usage to avoid stepping on toes. In any case how much disk and ram cache it uses can both be controlled manually from the preferences. Ram is set to auto by default meaning it will take a percentage of the free memory for itself. On my 1gb system it tends to use about 90-120megs of ram if I've been browsing for a while, but it does keep a cap even on that system so it never gets so large that it gets bogged down. Then on systems like the one I am on right now that has 128mb ram, it relies mostly on disk cache and doesn't really suffer any hits in performance for it.

      --
      1 (short ton / firkin) = 89.1432354 slugs / keg
    3. Re:Obviously there is a memory penalty with Opera by maxwell+demon · · Score: 1
      On the other hand memory is there to be used, having loads of free memory on your system is just a waste, it may as well be used to cache something if there is no other demand on it.

      Of course on modern operating systems, there's hardly any real "free" memory around. The reason is that the OS itself takes the same view, and uses the free memory for caching things, mostly files. So basically there's a tradeoff between a program using up memory for its own caching, or leaving that memory to the OS (and other programs) to use. Note that the OS can handle the memory much more intelligently, since it has complete knowledge of the system. For example, imagine you start a second program (say, acrobat reader to view some pdf from the web, or your favourite email program), the OS will immediatly free enough of it's caching in order to give that program the memory it needs. However, any memory the browser consumes won't be freed, because the OS can't know if it is needed just now. In the worst case, the system will be slowed down because several programs which all were written in a mindset of "all your memory belongs to us" separately use up unnecessary much memory in order to speed up their operations (which will be not too much, because if there's enough memory free, any "disk read" of recently written data would have come from the OS's memory cache anyway, while with too little memory, the "memory read" actually has to be swapped in, which can be slower because even the code to read the data may have been swapped out (i.e. in the worst case, you'll have the sequence "write some other stuff from memory to swap space to make room for the code; load the code page from swap; again write some other stuff from memory into swap to make room for the data to be accessed; load the data page from disk").

      In short: Assuming you can just use all memory available was reasonable in DOS times (where there just weren't any other programs running besides yours), but generally isn't a good idea in multitasking operating systems (i.e. all current ones). And I've not even touched multi-user systems (imagine four users using firefox and each copy trying to use half of the available memory).

      Of course, if you actually need the memory, then you should allocate it (for example, an image manipulation program can be expected to need the memory to hold the image (and probably a lot of other data about it) in memory. Also, there are certain types of programs where you just can expect that they will not run besides other huge memory-eating programs, or where the performance is so crucial that you can justify the extra memory anyway (and put the responsibility of making sure that no other program eats up the required memory to the user). But a browser isn't that type of program. Indeed, a browser is a program which quite often is left open besides your actual work, e.g. to be able to quickly look up things in the web if you need it (or to read slashdot :-)). Therefore it's the type of application which should affect the rest of the system as little as possible, which especially includes the memory used (imagine surfing while compiling a big program; you certainly don't want the system to swap because the compiler, rightfully, allocates lots of memory in order to optimize your code, while your browser, wrongly, eats up lots of memory just for a little bit of convenience through slightly faster reload of web pages by having them in RAM instead of disk).
      --
      The Tao of math: The numbers you can count are not the real numbers.
  79. Doesn't every browser store a cache? by HaMMeReD3 · · Score: 1

    I was under the impression that all browsers stored a cache, and do they really need to store it in memory, can they not just use a disk cache like every other browser on the market. Also, unless it's caching video's 200megs is a lot of memory for webpages.

    lets say each page takes 1 meg up, that's still 10 tabs with 20 levels of history on each. and 1 meg is abhorrable for a html site and it's content, also images throughout the same site are often shared, so they should not need more then one copy in the cache. I would estimate, roughly, that on average a cached html page + images should not take more then 300k, and I consider that to be a generous estimate. Compression could make the html and such even smaller.

    Point being, 200 megs in ram for a cache seems like to much, and with efficient caching, 100 cached pages should not take more then 30 megs or so of memory. Which would ideally be put on the disk and not store any duplicates of any information/images etc. (if tab1 and tab2 saw the same page, only keep 1 cached copy). It just seems wierd that they need to cache on a level beyond what the http and html both allow. Can't you just have a single normal cache like everyone else?

  80. Why not this? by emkman · · Score: 1

    Why don't you just hold CTRL when you hit reply, so the reply window will open in a new tab, and the summary will be right where your left it?

    --
    Moderation Totals: Flamebait=2, Troll=1, Redundant=1, Insightful=6, Overrated=1, Underrated=1, Total=12. (not mine)
  81. Performance by Isotopian · · Score: 1

    Just a though here... but anyone who is really concerned about their computers performance, even web browsing, should make sure their hardware is capable of handling what they ask it to. So: If firefox is that slow for you, then you don't have enough RAM. I certainly have never had problems, and I leave 6~12 tab sessions open for hours at a time.

    --

    It's poetry with a beat behind it! And guns! They're like beatniks with automatic weapons.

    1. Re:Performance by Anonymous Coward · · Score: 0

      I have one gig of ram and after leaving firefox open for a day or so, it will have grown to atleast 0.5gigs, which is half of my ram. It will actually make my computer swap after a while, unless i restart the application. This happens also on the latest version and also happened on previous versions even on different hardware.

      Actually this problem has seemed to get worse with later versions...

      This is a serious problem for me, which is why i now mainly use konqueror unless i have to run windows.
      I dont run any extensions, so that cannot be blamed on a 3rd party either. I do however tend to have around 10 tabs open, but i would expect the memory to be returned once i close them, but this simply does not happen and the only fix is to close firefox completly.

  82. Nice excuse by Anonymous Coward · · Score: 0

    Shame it took 4 years to come up with this ripper of an excuse.

    It doesn't explain why a browser doing nothing overnight can chew an extra couple hundred meg of memory either.

  83. 39% only? by Anonymous Coward · · Score: 0

    even George Bush couldn't win with a minority that small, yet my computer grinds to a halt. A choice would be nice.

  84. Heh by TheLink · · Score: 1

    It'll be really funny if running an "IE vmware player" actually uses less mem and CPU than firefox.

    Might even be safer...

    Oh well, time to switch to Opera I guess.

    --
  85. The Bush Solution by Stupid+Mentat · · Score: 0, Offtopic

    America has a serious problem. America is addicted to tabs, which often lead to memory shortages. We need to wean ourselves from this addiction.

  86. Bugginess by Anonymous Coward · · Score: 0

    Firefox has some other outstanding bugs and issues. Personally, I just want to print.

    Unfortunately, the bug #154892, https://bugzilla.mozilla.org/show_bug.cgi?id=15489 2 (you'll have to copy-n-paste that URL -- bugzilla won't allow hyperlinks from Slashdot) makes Firefox useless for me and my company.

    This bug dates from at least 2002, but may be older. Still, not only is it not fixed, it seems no more likely that it will ever be fixed that it did four years ago. I've given up hope. It's critical failure that prevents Firefox from being useful in an office environment where people might need to print general web sites.

    This is symptomatic of the problems with Firefox and some open source projects. Really basic stuff never gets fixed because no one cares or knows how. There's no effective pressure to get this kind of thing fixed.

    To reiterate: this is a debilitating four year old bug that for which no fix is even on the radar. I'm totally confident in predicting that four years from now this same bug will still blight the Mozilla source. It's a sort of awe-inspiring problem: a huge cock-up in the way Firefox prints hasn't even been prodded at with long stick since it cropped up years ago!

    How many other flaws like it still exist, untouched, for years upon years?

    The Firefox developers seem really good at fixing the little glitches and security flaws, yet ill-equipped or unwilling to tackle these old, deep, flaws that don't directly affect their daily use of the product. I wonder how many other organizations haven't deployed Firefox because of these kinds of problems?

    I like Firefox in many ways and would like it to succeed, but for that to happen the developers will need to see more things from the perspective of the browser's users, or better respond when users find un-sexy usability nightmares in real-world day-to-day deployments.

  87. bfd? by GeorgeMcBay · · Score: 0, Flamebait

    Virtual memory, look into it!

    Who cares if Firefox or any app is a bit of a memory hog???

    As long as it is just using the memory as cache space and not accessing the memory randomly, it'll be paged out into virtual memory as needed.

    I suspect a lot of the people who are bitching about this are the type that stare at 'top' output or the Task Manager all day looking for programs that are using a lot of memory so they will have something to bitch about when in practice having the program use that much memory just doesn't have much impact on system usability, assuming you're using an OS with decent vmem support.

    1. Re:bfd? by Sigma+7 · · Score: 4, Insightful
      Virtual memory, look into it!


      Virtual memory is not a carte blanche for memory hogging. As you should know, memory hogging will result in degraded performance.

      Assuming that users have unlimited resources is exactly how Mozilla is barely usable on Windows 95-ME - especially when you have Slashdot Moderator access.

      Who cares if Firefox or any app is a bit of a memory hog???

      As long as it is just using the memory as cache space and not accessing the memory randomly, it'll be paged out into virtual memory as needed.


      In an ideal situation, that would be correct.

      However, the operating system does not know which memory is currenly "in use" and which ones are "in cache" - in fact, it's quite easy for an "in use" to be physically sandwiched between two "in cache" entries. Because of this, you will have a sudden loading time if you do plenty of other tasks in the background and suddenly switch back to Mozilla.

      Small applications, being small, do not generally have to wait 1/2 seconds to recover from being pages in or out. Since Mozilla allocates the cache in memory, it will have to wait those two seconds.

      assuming you're using an OS with decent vmem support.


      An OS with decent vmem support would allow you to map files to memory. This results in no swapping at all - only writing perodic output to the hard drive, and loading the file into memory as required. If another application needs more memory, the memory map is discarded with no need to write the contents of memory.

      An application that doesn't exploit the usage of memory maps is as good as an OS with shoddy vmem support. (Of course, it can simply use it's disk cache for the same effect.)

    2. Re:bfd? by GeorgeMcBay · · Score: 1

      STFU you stupid bish!

  88. Doesn't this just seem silly? by robertjw · · Score: 2, Insightful

    The cache feature is nice, but why distribute it out to every tab? If I have 20 tabs open I'm not going to be constantly clicking the back button on each of them. Why not clear the cache on tabs that haven't been accessed recently and only keep cache on tabs actively being used. Often when I open new tabs I just want to be able to quickly access that page, or use it as a temporary bookmark - not navigate back through the path that got me there.

    1. Re:Doesn't this just seem silly? by RichiP · · Score: 1

      What's a good method for determining which to cache and which not to, then?

    2. Re:Doesn't this just seem silly? by robertjw · · Score: 1

      I would run it the same way most caches are run. Only store the most recent pages, release the older stuff. Don't cache pages froma tab that's three hours old and hasn't been used in an hour.

  89. No freeing memory == memory leak by Guspaz · · Score: 1, Troll

    The problem is when you close tabs, Firefox doesn't seem to free the memory leak. It seems to stay resident until you kill Firefox. Not cool.

    1. Re:No freeing memory == memory leak by RichiP · · Score: 1

      If you don't free(3) memory after (c|m|re)alloc(3), isn't that a memory leak? I think in order to qualify that, the reference to the allocated memory block has to be lost, but if it isn't free()'d anyway even though it's been kept track of, same difference. Right now, nothing comes to mind that constitutes a memory leak other than that.

    2. Re:No freeing memory == memory leak by Guspaz · · Score: 1

      I'm looking at this from a user perspective. I open a tab. I close a tab. The memory remains in use. I open and close many tabs, firefox's memory usage balloons. I am unsure, however, if that memoy usage is Firefox's fault, or an extension. It is so hard to tell.

  90. Not quite the way I wanted it fixed... by vanyel · · Score: 1

    3G VSIZE for firefox? (at the moment, with only 14 windows open [I hate tabs, as I often look at one thing while doing something in another window]...) Sheesh. I did want them to stop reloading pages when I use the back button, but I'd be happy if they just used a disk cache rather than a ram cache... Of course, only 113M is resident, so I suppose they *are* using a disk cache, in effect...

  91. Re:Firefox is the most unstable program in common by The+Mgt · · Score: 1

    I've noticed that 1.5.0.1 is much slower than 1.5. Time to downgrade again 'til it's fixed :(

  92. I've mostly switched to Opera by edremy · · Score: 1
    I simply got tired of having to restart Firefox every few hours. I run lots of tabs with useful state and I got tired of the endless memory growth. I'd routinely quit Firefox and watch over a gig of memory get returned.

    Opera somehow manages the same thing in far less memory (and greater speed). If it had the webdeveloper toolbar I'd never look back- it's the only thing that keeps me using Firefox at work, even though 90% of my browsing is Opera now.

    --
    "Seven Deadly Sins? I thought it was a to-do list!"
    1. Re:I've mostly switched to Opera by Anonymous Coward · · Score: 0
      "Opera somehow manages the same thing in far less memory (and greater speed). If it had the webdeveloper toolbar I'd never look back- it's the only thing that keeps me using Firefox at work, even though 90% of my browsing is Opera now."

      Try this: Web Developer Toolbar & Menu for Opera, you can look forward... to Opera.

  93. Wait a sec by ben_1432 · · Score: 1

    Isn't Gecko the fastest rendering engine around? Why don't they just compress & cache the actual html, and then re-render it?

    A typical page is 30kb - 100kb of plain text. Once it's compressed it's probably under 10kb.

    It might take a fraction of a second longer to re-display the page, but with all the extra memory you'd have available who cares/notices.

    Why don't they do that or am I missing something obvious?

  94. Faster??? by bubkus_jones · · Score: 1

    Makes what faster? It sure doesn't make my system any faster (quite the opposite, my machine sometimes slows to a crawl, where I can't even listen to music at the same time, and it takes 2-3 minutes to switch applications. Yes, I have an old system).

    As far as my internet usage, it's already plenty fast enough. Any increase in browsing/rendering time is minimal at best, in my experience.

  95. feature by akhomerun · · Score: 1

    This should be "smart" and turn itself off for people with less than a certain amount of physical RAM. And should lower it's priority to other apps. i.e. if the person opens up Photoshop with a 50MB photo, Firefox should yield some of its extra RAM usage back to the system.

    1. Re:feature by akhomerun · · Score: 1

      although obviously, I know nothing of the technical details of this "feature"

  96. Heuer's Razor by cs · · Score: 1
    This kind of thing always bring Heuer's Razor to my mind:
    If it can't be turned off, it's not a feature. - Karl Heuer
    It should surely at least be tunable, just as the on-disc cache is tunable.
    --
    Cameron Simpson, DoD#743 cs@cskk.id.au http://www.cskk.ezoshosting.com/cs/
  97. Re:spyware with IE or memory leak with FF.. by Anonymous Coward · · Score: 0

    For as long as I can remember, Opera ships with Memory Cache set to automatic. Setting a max amount of memory to use has always worked for me when I needed to limit it. I would suggest trying that. Go Tools, preferences, advanced, history, and set a limit (or disable) the Memory Cache.

  98. Re:Firefox is the most unstable program in common by Burz · · Score: 1

    On OS X 10.3, Firefox 1.5 was the CPU & memory hog. But I have been using 1.5.0.1 extensively and it is MUCH better. It even seems to use les memory than Safari.

    I still would like to see better idling behavior (I'm not entirely comfortable with 4% usage) but 1.5 was 3x as bad.

  99. Re:Firefox is the most unstable program in common by Anonymous Coward · · Score: 0

    I attempted to replace IE with firefox in a kiosk intranet application at work about a year or so ago. The page to be displayed generated a work-specific statistic and was simply set to meta-refresh itself every second. This would produce a 99% cpu usage firefox after about 12 hours running. I had to go back to IE. Don't have time right now to create a test setup to reproduce the problem, but perhaps this is a clue someone else can use...

  100. Don't click in OS X... by Anonymous Coward · · Score: 0

    Clicking in Firefox in OS X pegs the CPU at 85 to 90% while the mouse button is down. For best performance, avoid clicking.

    I think the problem is related to me Carbon event model that Firefox still uses. Maybe this will be fixed someday. Or maybe not.

  101. Doesn't seem to work by The+Analog+Kid · · Score: 1

    It doesn't seem to work for me, the memory still isn't releasing. However when I set browser.cache.memory.enable and browser.cache.disk.enable to false it seems to release memory after the tab is closed. I found now adverse effects on browsing.

  102. Shouldnt it care about the RAM a bit more? by xtieburn · · Score: 1

    Theyve point out that you can change how many pages to cache and all that but really isnt it a bit daft anyway. I mean if the browser is going to do RAM intensive things like that how on Earth am I supposed to know exactly where to stop it. In fact how does it know?

    E.g. set the cache so it only holds 4 pages or have a system with a small enough amount of RAM that it does that automatically. What if those 4 pages have vast amounts of content youve still got the same problem.

    Wouldnt it make a lot more sense and infact potentially seal up other issues if you restricted the RAM space the browser can take up rather than restrict the pages it can cache. Have a little slide bar set it to 100meg and thats all firefox can ever use. Simple and means no one needs to estimate how many pages they can open, no computer will have RAM issues because the browser can just scale itself depending on how much the computer has, and if you have a tonne of memory you could be caching far more than just 8 or even 25 pages and making the whole thing even faster.

    Im no web browser developer so maybe im over simplifying this but it just seems like a dodgy design decision to base RAM usage on an unknown quantity of data from an arbitrary number of pages rather than on how much RAM there is to use.

  103. There really is only one solution by gamepro · · Score: 1

    Which is to port this bad boy into C++ The culprit is the JVM.

  104. Re:spyware with IE or memory leak with FF.. by dreemernj · · Score: 1

    Have you tried setting a limit on the memory cache in the preferences? Its set to automatic by default so by default it'll go pretty crazy. It still won't slow down though, even on systems like the 128MB ram one I am on now. The 10 tabs with long histories in each don't seem to affect performance.

    --
    1 (short ton / firkin) = 89.1432354 slugs / keg
  105. Danke! by Anonymous Coward · · Score: 0

    n/t

  106. Happens all too frequently on Windowz Too by squidguy · · Score: 1

    In addition to the memory/cpu hogging, Debianized FireFox also crashes very very often... :-(

    This seems to plague the Win32 build as well -- Firefox used to work like a charm, but since upgrading to the 1.5x branch it seems to crash all too frequently. Can't peg a cause other than the fact that having multiple pages open seems to cause the problem (3 typically does the trick). Annoying as heck.

  107. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  108. They're blowing smoke up you're ass by Theovon · · Score: 1

    The "memory leak" I complain about isn't a simple matter of Firefox getting excessively large (well, I do complain about that). My MAJOR complaint is that it frequently gets into a runaway memory grab loop where it goes from a "mere" 800 megs to 1.5 gigs in 30 seconds or less, before the oom killer gets to it.

  109. Cluecheck! by Burz · · Score: 2, Interesting

    I just loaded FF 1.5.0.1 and Opera 8.5 on Mac OSX 10.3.9 (iBook G4 1.2GHz 768M) each with identical nine tabs:

    Firefox: 54.15M (Real) 190.07M (VM) ; 2.1% idle

    Opera : 59.36M (Real) 239.66M (VM) ; 0.4% idle

    Assessment: This Firefox outperforms both Opera and Safari in memory usage, and is faster than Opera on challenging pages. However it has the least favorable idling habits, starting at 2% here and would climb to 4% after several days of intensive use. FF 1.5.0.1 memory use would climb to about 100M for the same pages over the same period, indicating the cache grows somewhat but not wildly the way FF 1.5 did.

    The test of also rather unfair, as I have 7 FF extensions running.

    1. Re:Cluecheck! by hkmwbz · · Score: 1

      Those numbers don't look right at all. Opera is well known for its better and more efficient memory handling. Clearly, you have done something weird with Opera on your system.

      --
      Clever signature text goes here.
  110. If it's a feature.... by happymedium · · Score: 1

    ...give us the option to turn it off. Thank you.

  111. R-RTFA by Chris+Snook · · Score: 3, Informative

    The article has been corrected. Note that the maximum number of cached pages, regardless of the number of tabs, defaults to 8, and that's only if you have at least 1 GB of RAM. RTFSC:

    http://lxr.mozilla.org/seamonkey/source/docshell/s history/src/nsSHistory.cpp#161

    If you're unhappy with the memory usage with 50 tabs open, I advise the following workaround:

    DON'T DO THAT.

    --
    There's no failure quite as dissatisfying as a complete and total solution to the wrong problem.
    1. Re:R-RTFA by Jugalator · · Score: 1

      Most peoples problem with Firefox memory usage isn't that they have 50 tabs open, but that usage remains after having had in total 50 tabs open over the session. I can easily get Firefox to consume 200 MB when just displaying the Google home page.

      --
      Beware: In C++, your friends can see your privates!
  112. Good to know by Anonymous Coward · · Score: 0

    There I was, thinking that the Mozilla developers were just retards who wouldn't know a profiler if it bit them in the ass who therefore chose to cover up their piles of crap by throwing memory at it. I'm happy to learn that they are in fact just experienced software engineers who understand the fundamental tradeoff between memory and speed.

    Really, if you want all the awesome performance and features of Firefox, just pay the few bucks for an extra gig of RAM.

  113. Rewritting history. by SeaFox · · Score: 5, Informative

    Firefox 1.5 implements a Back-Forward cache that retains the rendered document for the last five session history entries for each tab. This is a lot of data. If you have a lot of tabs, Firefox's memory usage can climb dramatically. It's a trade-off. What you get out of it is faster performance as you navigate the web.

    The only problem is there were bugs filed for memory leaks long before Firefox 1.5 and the Back-Forward cache were implemented. Maybe this feature does contribute to Firefox's large memory footprint, but to say that this feature is the only reason and that there are no leaks is simply false.

    1. Re:Rewritting history. by Phil+John · · Score: 1

      but to say that this feature is the only reason and that there are no leaks is simply false.

      Did ben say that? No, quoth his post: "All versions of Firefox no doubt leak memory - it is a common problem with software this complicated. We look to fix the issues where we can. David Baron and others have done a huge amount of excellent work in this area.".

      Yes, there were, and still are memory leaks (although they are doing their best at finding them and squishing them), but the large footprint that most people are seeing is because of this feature.

      --
      I am NaN
  114. Re:Firefox is the most unstable program in common by ben_1432 · · Score: 1

    If it's not happening to you personally it's not a Firefox bug? I've heard that justification before.

  115. Re:Firefox is the most unstable program in common by Hasdi+Hashim · · Score: 1

    I can pretty much guess where the problem is. The solution: deal with it, or say no to garbage collection.

    See, virtual memory and garbage collection don't mix. The larger the reachable set, the larger the area of memory the garbage have to scan, which translates to frequent paging in and out. Once the size of memory to search exceeds (available physical memory)*gamma, there every page will be swapped every time the garbage collector runs.

    If the garbage collector runs on a timer , and the timer is faulty after sleep/standy, it could call itself more often than it needs.

    GTG.

  116. How about a way to turn it off? by JourneyExpertApe · · Score: 1

    I'd like to be able to turn it off so that I can use a web browser and, you know, do anything else on my computer. I noticed the large amount of memory firefox was using a while ago while I was doing some memory-hungry programming. It was annoying because I frequently had to close down my browser that I was using to view some API documentation.

    --
    If you can read this sig, you're too close.
    1. Re:How about a way to turn it off? by Anonymous Coward · · Score: 0

      I was just meta-modding and saw that you accused someone of smoking crack for claiming the NFL is a not-for-profit coporation. Have some knowledge, gratis.

  117. POST data? by Quixote · · Score: 2, Interesting

    If Firefox is caching these pages, why doesn't it cache POST results? When I hit back to go back to a page obtained via POST, FF refuses to show it to me, asking me to either cancel the action or resubmit the form. JUST SHOW ME THE GODDAMMN PAGE, DAMMIT!. Once the page lands in my machine, regardless of how I obtained it (i.e. via GET, POST or whatever), then just show it, or at the very least give me the option of seeing the possibly expired page. Let it be my decision.

    1. Re:POST data? by WuphonsReach · · Score: 1

      There's a very OLD bug regarding that. Bug #115174 https://bugzilla.mozilla.org/show_bug.cgi?id=11517 4 It causes issues with any application that can't deal with duplicate page submits. Causing your credit card to get charged twice is a typical result of this bug.

      --
      Wolde you bothe eate your cake, and have your cake?
  118. New Plan For World Peace by Anonymous Coward · · Score: 0

    Just go into about:config and create a new boolean pref named 'browser.environment.worldPeace' and set it to true. Instantly all wars will stop and everybody will sing and dance together.

  119. OSS Rules :) by sn0wflake · · Score: 0

    What I really find humorous about this article is that there's so few funny posts (I only view 3+ posts). I guess if it's open source it's a feature, if it's Microsoft it's just sh*t :) You Linux guys really should get a life :)

  120. Crap by 4D6963 · · Score: 1
    Oh crap, that's completly dumb. I sometimes open about 300 tabs (ok, not everyday, but it happens), visit one page on them, and close. And then I wonder why I get to 300 MB memory usage like that.

    It's dumb to me, mostly that whereas someone would simply click a link to access it, I would open the link in another tab and close the tab i'm in to get to the tab I just opened.

    Why do I do that? Not sure, but I think I do that so I can stay on the first page while the other page loads. So that feature is quite annoying to me. Often makes me have to close/reopen Firefox (with SessionSaver enabled) to gain back my memory.

    If it's a feature, how can i disable it? (and if it's in TFA, well, i'm about to read it, so don't RTFA me)

    --
    You just got troll'd!
    1. Re:Crap by 4D6963 · · Score: 0, Redundant
      It indeed was in TFA.

      You just have to set browser.sessionhistory.max_total_viewers to 0 in about:config, apparently

      --
      You just got troll'd!
  121. Comment removed by account_deleted · · Score: 2, Funny

    Comment removed based on user account deletion

  122. Re:I've heard this type of reasoning before! by Anonymous Coward · · Score: 0

    George Bush doesn't care about Opera.

  123. Re:Firefox is the most unstable program in common by vidarh · · Score: 1
    I have this problem all the time on a machine with 1GB RAM. Firefox will often eat well over half a GB before CPU usage starts growing, but eventually it'll get to a point where the system performance degrades so quickly that it's tough to get a chance to kill Firefox before it freezes completely.

    It's been like that since before 1.0.

  124. Too bad this is BS by pyite69 · · Score: 1

    When you hit the back button to go to a page that had POST information, it requires you to re-submit the data rather than drawing the page from the cache. This used to work perfectly back in the Netscape 3.x days but has never worked properly since.

  125. At least its better then other features by mikek3332002 · · Score: 0, Flamebait

    At least this 'feature' is better then the remote admin facilities in IE.

  126. is it a "memory leak" then? by Pr0xY · · Score: 1

    personally as a programmer, I tend to define a memory leak as memory which will be freed (until program termination, since all used pages should be returned to the OS then...), particularly through programmer error. For example i would not define the following as a memory leak though i would disagree with it's style:

    int main() {
            int *a = new int[10]; /* do some work with array a */
            return 0;
    }

    while i personally would not write code like this and would consider it bad style, it is not really a "leak" because firstly, it is by design and secondly it does not "leak" more and more memory over time. Realistically what this article is talking about sounds more like caching to me, that is intentionally delaying freeing memory with the expectation that it may be used again in the near future. Considering that there is an upper limit on how much memory it will take up overall, this sounds like it would generally improve performance.

    Now, should it be configurable, sure, on by default, sure.

    In reality, I find a lot of computer users, usually non-programmers are very much obsessed with the notion that programs are bloated, and frankly, it's getting annoying. I continually see generally good programs on betanews get bad ratings because "it's too much of a memory hog" or "it's bloated" or "omg! it is taking 20 megs of memory".

    While it is trivially true that if a program can be written smaller with no change in performance in functionality then it should be, it never seems to dawn on people that programs may be written to sacrifice memory for performance. Anyone familiar with optimization techniques will tell you bigger does NOT equal slower.

    proxy

    1. Re:is it a "memory leak" then? by The+Master+Control+P · · Score: 1

      Would the code posted above not in fact be a memory leak? Unless something's different about C++ vs C, won't each call create a new int*, allocate it new memory, and lose the pointer on returning (except that you don't usually call main repeatedly)?

    2. Re:is it a "memory leak" then? by klui · · Score: 1

      This is technically a memory leak. But on all OS I've programmed in, exit from main would return all memory that process used back to the main pool. If main were a regular function instead it would be a leak.

  127. Re:spyware with IE or memory leak with FF.. by Buzz_Litebeer · · Score: 1

    Plugins to help with downloading large sets of images from galleries. Take galleries involving home pictures of cats and dogs, with teh downthemall plugin you can easily download every picture on the page (the ones behind the link, and not just thumbnails) to the folder of your choice.

    And if those pictures happen to have similar numbering schemes, suchas 01.jpg, 02.jpg etc.. down them all will rename them on the fly so that they dont have any image mix ups!

    I also use FoxPose, which allows me to take many tabs and put them all visually on the same windows (ala expose for mac) and choose which one I want to use.

    There are a few other things I like, but I am not sure that they arent already in Opera though.

    --
    If you don't vote, you don't matter, so don't waste your time telling me your opinion
  128. Err, broke some sites? by moogleii · · Score: 1
    To disable the memory cache completely, add the following code: // Disable memory cache: user_pref("browser.cache.memory.enable", false);

    I switched that to false, and http://www.google.com/ig wouldn't load anymore. I noticed a few other sites that just wouldn't "go." Am I the only one seeing that behavior?

    1. Re:Err, broke some sites? by Anonymous Coward · · Score: 0
  129. Fooey on it by Sparkle · · Score: 1

    No time for this. Only have 96 mB of memory in this old P233 stinkpad. Product almost instantly takes over all the cpu cycles it can find.

    Firefox 1.5 is outta here. Opera is fine and it looks like FF 1.07 will be OK. If I wanted windoze-product-behaviour I would used windoze.

  130. Feature huh? by Anonymous Coward · · Score: 0

    If this is a feature (of which I've read on the firefox dev site also)
    how come on my Win box Firefox takes up 180+megs of memory (as it is right now)
    with one window open for the last two hours, going to 2-3 websites? (no tabs this time)

  131. Memory leak? How about CPU LEAK ???! by aqk · · Score: 1

    I'm currently running FF 1.5.0.1 on the latest and greatest WinXP Pro, and wondered why my recently installed vid-capture stuff was stuttering, but only when certain webpages are open in FF tabs.
    Right nowI have 3 tabs open- all /. pages and according to the task manager, FF is grabbing a helluva lot of CPU time- jumping between 40% - 80%.
    Hah! I just kiled one /. thread I was reading and Firefox dropped to 4% - probably that annoying 'ServerBeach' ad at the top of the /. page...

    I have a gig of RAM but only a 1100 MHz Athlon.
    If Mozilla (or perhaps someone here) can't tell me how to fix THIS feature, I'm going back to IE...

  132. This explanation makes no sense by Siguy · · Score: 2, Interesting

    How does this explain why firefox eats more and more and more memory when left alone.

    If I leave my computer on and come back the next morning, with no new pages having been loaded, the browser is suddenly taking up like 400 megs of RAM.

    That can't be explained by caching tabs.

  133. Plausible theories: That's what we need. by Futurepower(R) · · Score: 1

    Hasdi, I don't know whether what you said is the correct theory or not, but this is the first time in 3 years that someone has put forward a plausible theory. That's what we need.

    Definitely that fits the facts as I know them. Something is trashing memory where a timer constant is stored, so a routine is being called too often.

    I took a nap instead of closing my Firefox windows when it was at 41% CPU, and now it is 92% CPU. Still enough CPU power to type, however. But auto repeat is slow.

  134. To make good theories we need more facts. by Futurepower(R) · · Score: 1

    One of the problems in characterizing this bug is that people believe that memory usage is important. It isn't. I will happily buy more memory. The problem is not memory usage, but unreasonable memory usage. That's associated with the CPU hogging bug.

    I definitely believe everyone who says they don't have problems. However, to make good theories we need more facts about when Firefox is buggy. We need to have more facts so that we can eliminate some possible theories.

  135. No Firefox developer has tried, apparently. by Futurepower(R) · · Score: 1

    No Firefox developer has tried to duplicate the conditions that cause the bug, apparently. It is obvious from reading their replies that no Firefox developer has even read all the comments by people who have problems. They can't make viable theories if they don't know the facts.

    Some bugs are just this tough. That's the reality of programming.

  136. Thanks. by Futurepower(R) · · Score: 1

    That's the kind of clues we need if we are to develop theories.

  137. That's why all the discussion. Firefox is GREAT! by Futurepower(R) · · Score: 1

    That's why all the discussion. Firefox is GREAT! That's why we want the bugs fixed.

    Memory use is not the big issue. It is the CPU hogging bug that goes with wild memory use that is the issue, because that makes you close all Firefox windows and tabs.

  138. You are missing the point. by Futurepower(R) · · Score: 1

    You are missing the point. We love Firefox, and we want to improve it.

  139. I'm definitely insane by try_anything · · Score: 2, Insightful

    Every time I close all the tabs in my browser session except two or three, then check a few hours later and see that Firefox is sluggish and hogging a few hundred megabytes, I go to the police and ask them to take me into protective custody. I'm obviously a danger to myself and others. When I'm not responsible enough to seek psychiatric help, I just stare at my monitor and tell myself, "You only see three tabs there, but that's because you're crazy. You still have all those dozens of porn tabs open. You just can't see them because you went blind masturbating."

    Seriously, what's with all the song and dance? Firefox obviously has at least one problem, probably several, that leads to bad performance for many users, under certain circumstances. Call it a UI problem, call it a documentation problem, I don't care, just call it a problem. Don't call it a feature or a misunderstanding. Don't pick a feature that can't account for many of the reported problems and say, "Aha! This is THE Firefox memory leak that's bothering everyone. See? It's a feature!" The denials and talk-arounds on this issue are what you would expect from a political party, not an open-source software project.

    Of course, I only know all this because I use Firefox. It's the best. The memory problems would only be a minor annoyance if I didn't have to constantly read about how I'm crazy or stupid.

    1. Re:I'm definitely insane by evilviper · · Score: 1
      -1 Wrong
      Bad mods!

      Don't call it a feature or a misunderstanding. Don't pick a feature that can't account for many of the reported problems and say, "Aha! This is THE Firefox memory leak that's bothering everyone. See? It's a feature!"

      He didn't call it a feature. In fact he was quite fair in the story. If you'd just read the link, you'd know that.

      Also, if the mods had read it, they would have modded you down, instead of up, for being completely wrong.

      And, if the /. editors had read it, they surely would have changed it to something less trollish, like: "it may not be a memory leak".
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    2. Re:I'm definitely insane by try_anything · · Score: 1

      From TFA:

      "What I think many people are talking about however with Firefox 1.5 is not really a memory leak at all. It is in fact a feature."

      I'm tired of reading stuff like this. And then you say, "He didn't call it a feature."

      What's going on? This is like watching a political talk show on CNBC. Deny, deny, deny. Convince people to trust you instead of their own eyes.

      Wait! I forgot! I'm insane! You're right, I must have hallucinated the part where he said, "What you get out of it is faster performance as you navigate the web. For those who remain concerned, here's how the feature works." In fact, I probably made up your reply. I'm just replying to myself. Maybe this will finally convince those guys at Bellevue to let me stay a while.

    3. Re:I'm definitely insane by evilviper · · Score: 1
      I'm tired of reading stuff like this. And then you say, "He didn't call it a feature."

      What's going on? This is like watching a political talk show on CNBC. Deny, deny, deny. Convince people to trust you instead of their own eyes.

      You're either trolling, or a complete idiot. You took that single quote completely out of context. Here, let's try a few sentences just before it:

      All versions of Firefox no doubt leak memory - it is a common problem with software this complicated. We look to fix the issues where we can. David Baron and others have done a huge amount of excellent work in this area.

      He admits that there are memory leaks, and then goes on to explain that one reason Firefox uses up so much memory is because of CACHING. Therefore, that specific issue is NOT a memory leak at all, and your insistence that it's a actually a "problem" that is being denied, is either idiocy, or a troll.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    4. Re:I'm definitely insane by try_anything · · Score: 1
      I'm not trolling. I don't dislike Firefox or have serious problems with it. I love it. I'm tired of one thing: I keep reading articles about users' Firefox memory problems, and every one has a dig against the users who have experienced problems. They're wrong for assuming it's a memory leak, wrong for not filing good enough bug reports, wrong because it isn't a bug, wrong because they don't understand how their system reports memory use. Wrong wrong wrong, always wrong. Even the mention of memory leaks here is only a prelude to moving on to a more acceptable explanation.

      Suppose you and your friend both like to go hiking in the forest at night. Suppose your friend says he saw Bigfoot once. Now suppose that every time you see an animal in the forest -- a bear, a deer, a squirrel, a woodchuck -- you call up your friend and tell him about how you saw something that he might have mistaken for Bigfoot. He'd start to get pretty pissed at you, right? That's the reaction I have to this article and the others like it.

      What I think many people are talking about however with Firefox 1.5 is not really a memory leak at all. It is in fact a feature.

      I'm not one of the guys filing bug reports or asking for a fix. It only affects me when I surf porn, which is hardly a critical activity. However, this dismissive attitude toward users -- who have legitimate problems, after all, and aren't making stuff up for laughs -- really bothers me.

  140. Re: type about:config in address bar by Anonymous Coward · · Score: 0

    ... then type session to find browser.sessionhistory.max_total_viewers. The default is -1. Double click it, change -1 to 0, and click the OK button. Notice that the status column changes from "default" to "user set".

  141. It's not just "a feature" by Anonymous Coward · · Score: 0

    Don't try to downplay the real problems with this. It still doesn't explain why on Linux when I surf majorly with Firefox the X server process is after couple hours some 3 gigabytes (!) big and then I have to restart it (because everything works horribly slow already)

  142. You call it a bug we call it a feature by Arimus · · Score: 2, Interesting

    First off I like Firefox and its my primary browser of choice. HOWEVER this calling a bug a feature doesn't half remind me of a certain other company I could mention (and several Dilbert cartoons).

    If this feature is for my benifit then let me decide whether to use it or not. Apart from that it does not explain why when I leave firefox idle with only one window open on a simple HTML page over time my memory useage goes up...

    Stop hiding behind feable excuses and actually work on reducing the footprint firefox uses... FF is suposed to be a lightweight browser alternative to the usual browser bloatware - it is failing at the moment (rather like my spelling ;) ).

    --
    --- Users are like bacteria -> Each one causing a thousand tiny crises until the host finally gives up and dies.
  143. Are you confused or stupid? by Anonymous Coward · · Score: 2, Informative

    Using a lot of memory is not a memory *leak*. A memory leak is where memory is allocated but the pointer to it is lost so the memory doesn't get freed.

  144. Re:Firefox is the most unstable program in common by RzUpAnmsCwrds · · Score: 1

    firefox currently sitting at 0% cpu usage. perhaps you should upgrade your pentium 133 :)\

    Get over yourself. There is clearly a bug here; I've experienced it with multiple versions of Firefox, and it happens to me with Thunderbird on almost a daily basis. How Thunderbird/FF manages to suck up 100% of a P-M at 1.73GHz is beyond me, as is why this bug has persisted for at least 2+ years. It's a documented issue, and it's plagued FF/TB precisely because it's hard to reproduce.

    From what I've heard, the Gecko codebase is a massive mess. No wonder Apple chose KHTML when they designed WebCore.

  145. Acrobat plugin? by Catullus · · Score: 1

    I often find that, when I leave Firefox (Windows) running overnight, it'll be using 100% of CPU time when I return in the morning. However, killing Acrobat Reader normally seems to sort this out. In fact, almost every time I've seen Firefox lock up, killing AcroRd32.exe will fix it. Not sure if this happens to anyone else, but might be useful...

  146. Seriously... Bugs =! "shortcuts"! by hkmwbz · · Score: 1
    "Because Opera makes quite a few shortcuts while rendering HTML."
    This is a blatant lie.

    Opera doesn't take "shortcuts" at all. Just because you can point out a couple of bugs in Opera doesn't mean that your flawed analysis is correct.

    You clearly know nothing about Opera, but are rather busy trying to defend Mozilla's performance problems compared to Opera.

    --
    Clever signature text goes here.
    1. Re:Seriously... Bugs =! "shortcuts"! by Vo0k · · Score: 1

      Bugs or features, hard to tell. Certainly saving on some sanity checks speeds things up. Opera is known to refresh only changed (through JS/DOM for example) elements and not the whole document, and this has led a long way of suffering for developers - Opera 6 or 7 did refreshing only of affected element while completely neglecting ALL the neighborhood and child elements, making all the drop-down menus etc a hell to make (you change visibility of the menu container but visibility of its child elements - menu items doesn't change. You just get an empty border popping up, no links inside) This has been corrected in Opera 8, but not completely. It affects child and neighbour elements and the changes usually propagate thorough the document (that is, a changed neighbour affects its own neighbours) but still sometimes (especially in case of absolutely/relatively positioned elements that appear elsewhere than the static flow would put them) it misses a thing or two with updating, redrawing, adjusting, resizing etc. That's a long line of bugs resulting directly from design considerations which were definitely speed savings (it IS easier for the programmer to do a full refresh/rerender of whole document than just a few items within it, but it takes considerably more CPU time). Doing the easy stuff instead of the right stuff is common thorough Opera. (Relatively positioned elements affect each other in the drawn position instead of at the source position. The scrollbars of textarea are another good example - "if nobody told us to hide scrollbars explicitly, we will show them even if they aren't functional"). Errors in CSS often tend to break processing of all the rest of CSS instead of just skipping the faulty entry.)
      Some of it may be bugs. Some are the design. Most of them make Opera fast by being less paranoid than other browsers.

      I clearly know enough of Opera to point out all of the above which I have stumbled upon myself, trying to port a "standards-compilant" webpages to Opera. (of course they DO render correctly, according to some twisted interpretation of "correctly" though. I just need to jump through loops to make them display what I want and what both MSIE and FF have no problems displaying. The problem is w3c standards leave a lot of freedom for interpretation and Opera loves to interprete them some other way than the others.) You on the other hand, with no single solid argument sound like a rabid Opera fanboy. What about a good rebuttal instead?

      --
      Anagram("United States of America") == "Dine out, taste a Mac, fries"
    2. Re:Seriously... Bugs =! "shortcuts"! by hkmwbz · · Score: 1
      "Certainly saving on some sanity checks speeds things up."
      No, you are wrong.
      "Opera is known to refresh only changed (through JS/DOM for example) elements and not the whole document, and this has led a long way of suffering for developers - Opera 6 or 7 did refreshing only of affected element while completely neglecting ALL the neighborhood and child elements, making all the drop-down menus etc a hell to make (you change visibility of the menu container but visibility of its child elements - menu items doesn't change."
      How is Opera 6 relevant exactly? It is several years old. Opera 6 did have limited DOM support, but Opera 7 addressed that.
      "Doing the easy stuff instead of the right stuff is common thorough Opera."
      No, you are completely wrong again. Again, bugs or just differences in general != shortcuts. You keep making these baseless assumptions about "shortcuts" in Opera, but they are blatant lies.
      "I clearly know enough of Opera to point out all of the above which I have stumbled upon myself"
      And you are clearly not competent enough to make comments about "shortcuts". Again, bugs are not shortcuts.
      "You on the other hand, with no single solid argument sound like a rabid Opera fanboy. What about a good rebuttal instead?"
      A good rebuttal to what? A bunch of lies and baseless assumptions and speculation based on a couple of bugs you stumbled upon?

      Please.

      --
      Clever signature text goes here.
    3. Re:Seriously... Bugs =! "shortcuts"! by Vo0k · · Score: 1

      Which code will work faster?

      this:
      int* x;
      x=malloc(200);

      or this:

      int* x;
      x=malloc(200);
      if(x==NULL) exit(-1);

      But that's just bad programming, not a bug. Now for a speed-up bug:
      Which code will work faster?

      this:
      for(int i=0; iHow is Opera 6 relevant exactly? It is several years old. Opera 6 did have limited DOM support, but Opera 7 addressed that.
      So it was Opera 7, because we were doing that goddamn menu through DOM and suffering with shitty support that completely ignored distribution of style changes to descendant elements once the page stopped loading.

      And you are clearly not competent enough to make comments about "shortcuts". Again, bugs are not shortcuts.
      So they are bugs that make Opera work faster. It doesn't do what it should do, omits some important operations while rendering pages. I don't care if they are intentional or not. They just make webdeveloper's life hell. You can see your page loading in Opera in 0.3s and in Firefox in 3s because it took me to write that piece of HTML for Firefox in 3 minutes and then to fix it to work correctly in Opera as well during next 3 hours.

      A bunch of lies and baseless assumptions and speculation based on a couple of bugs you stumbled upon?
      A couple of bugs that avoided require increased CPU usage, bugs that are omissions of operations. Missing HTML/CSS/DOM features, interpretations of standards that reduce workload at rendering the pages while providing the worst defaults that are still legal, error handling routines that just bomb out whole processing instead of trying to avoid the error gratefully and continue and a gallore of stuff that just breaks when the circumstances are a hair width away from standard.

      Bye, troll.

      --
      Anagram("United States of America") == "Dine out, taste a Mac, fries"
    4. Re:Seriously... Bugs =! "shortcuts"! by hkmwbz · · Score: 1
      Not only are you a troll, but a conspiracy theorist who takes a couple of bugs and generalizes from that.

      You need to take off your Firefox Fanboy Zombie costume and get a clue. But Firefox zealots spreading FUD about Opera and other browsers isn't exactly uncommon:

      http://www.slyerfox.com/

      People like you, who among other things spread FUD and lies about other browsers to move the focus away from major issues in Firefox, are the reason why the Firefox community has such a terrible reputation.

      You are making up excuses to cover up Firefox's shortcomings by pointing out a couple of bugs in Opera and using the sad and pathetic excuse that they are taking "shortcuts".

      --
      Clever signature text goes here.
    5. Re:Seriously... Bugs =! "shortcuts"! by Vo0k · · Score: 1

      GoAT. Faults of FF are no excuse for flaws of Opera.

      --
      Anagram("United States of America") == "Dine out, taste a Mac, fries"
    6. Re:Seriously... Bugs =! "shortcuts"! by hkmwbz · · Score: 1
      "Faults of FF are no excuse for flaws of Opera."
      Certainly, but you are the one grasping for straws by mentioning things that look like simple bugs and generalizing, all because someone pointed out that Opera's memory and resource handling is far better than Firefox's.

      You are the apologist zealot troll, fanboiiii.

      --
      Clever signature text goes here.
    7. Re:Seriously... Bugs =! "shortcuts"! by Vo0k · · Score: 1

      And you are trolling. The original question was: "Why does Opera do the same thing faster without the memory penalties?"
      and my answer was: "through shortcuts in rendering HTML."
      Your answer was: "these aren't shortcuts, these are bugs".
      My answer: "They speed up rendering while breaking stuff. They are shortcuts, intentional or not."

      Nobody ever mentioned superiority of Opera in memory and resource handling. It may have bullet-proof flawless memory handling, okay, but that has no impact on speed whatsoever (just that it doesn't leak memory). The speed is a result of broken rendering engine (which is the answer to original question).

      (and for whoever watches and wonders why I still talk to the troll: it gives me some buzz, better digestion, rises blood pressure on the sleepy morning and so on.)

      --
      Anagram("United States of America") == "Dine out, taste a Mac, fries"
    8. Re:Seriously... Bugs =! "shortcuts"! by hkmwbz · · Score: 1
      Except you are mistaken, as usual.

      Just because you have found a couple of bugs doesn't mean that the fact that Opera is faster than Firefox is caused by "shortcuts" in general.

      But hey, I wouldn't expect a foaming at the mouth Firefox fanboy to admit to spreading FUD and lies about other browsers anyway. I'm just exposing you as the Firefox troll that you are.

      --
      Clever signature text goes here.
    9. Re:Seriously... Bugs =! "shortcuts"! by Vo0k · · Score: 1

      So why IS it faster?
      Memory management accounts maybe for 3% of total CPU usage in both.
      And I found these bugs over course of fixing 2 pretty short webpages. Good indication of how many of them lurk inside that I don't know of.

      --
      Anagram("United States of America") == "Dine out, taste a Mac, fries"
    10. Re:Seriously... Bugs =! "shortcuts"! by hkmwbz · · Score: 1
      Opera is probably faster because it's coded more efficiently. That doesn't mean taking shortcuts. It means optimizing things. And that's necessary since it uses the same engine on mobile devices and desktop PCs, which it has for quite a few years.

      On the other hand, Firefox is a PC browser, and Gecko has to be squeezed and stripped down to fit on mobile devices since it, unlike Opera, was not written with those in mind.

      --
      Clever signature text goes here.
    11. Re:Seriously... Bugs =! "shortcuts"! by CyricZ · · Score: 1

      Indeed. Sometimes I wish Opera would release the source code to their browser and rendering engine under the BSD license, just so that we could all see what a truly great piece of professionally developed software looks like.

      Netscape's release of their source code did indeed take the world by storm. It has lead to innovation. But it was, truth be told, rather awful code. This has been admitted by those who developed it. So just think of what Opera could do. They'd be providing a far more solid code base, and it would be likely that many people would immediately switch over from Firefox and Internet Explorer.

      --
      Cyric Zndovzny at your service.
  147. Fasterfox's Clear Cache function helps by klui · · Score: 2, Interesting

    I find that if I set browser.sessionhistory.max_total_viewers to 2 it uses less memory if it's left at the default (I have 1GB RAM). If I use Fasterfox's Clear Cache function, it compacts the memory usage even more. There is still some leakage but not as bad as the default -1.

  148. Re:spyware with IE or memory leak with FF.. by hkmwbz · · Score: 1

    Um no, Opera does not have the same memory issue. Opera is a lot better at memory handling than Firefox, apparently.

    --
    Clever signature text goes here.
  149. It may be a feature, but it's still undesirable by OneSmartFellow · · Score: 2, Interesting
    I find firefox to be one of the worst browsers - for my use anyway - available. I have tried to use it over an X session, and basically gave up; and that was with my X client running on a P4 1.5 GHz 500M RAM linux server, and my X server (running on my client machine accessing the server) a similar spec machine. The connection was wired 100MB ethernet.

    Considering the hooplah that goes along with it, firefox underperforms on basic tasks when compared to KDE's Konqueror.

    What's worse is that this command firefox ./index.html tries to open http://index.html/ rather than file://index.html. Meanwhile Konqueror behaves correctly.

  150. Competition by Britz · · Score: 2, Interesting

    First everyone complains that they should be as fast as possible to compete with IE, which is pretty fast.

    When they do it the get slapped for using too much resources?

    But I see a good point. I also would like to see new developement halted for some time to catch bugs and security problems. This would also help plugin developers to catch up. New features could be developed in plugins anyways.

  151. garbage colection by wwmedia · · Score: 1

    im not trying to be funny but why wouldnt they code up firefox in Java or even (dare i say it without being flamed out of existence) C#??

    Java would make their development alot easier across platforms, also latest java version 5(or 1.5 as some call it) is quite fast

    heck as we speak i have azureus, eclipse and zend studio working away running on the JVM only taking 50MB of memory, and when i close the programs i have peace of mind

  152. A question of balance by Anonymous Coward · · Score: 0

    How come that this article about FireFox has stimulated debate, with suggestions of workarounds, discussion of how valid/useful this 'feature' may actually be, whereas if the browser in question was IE, 99.9% of all responses would be "IE sucks, MS must die"???

  153. Per Session, not per Tab by dzfoo · · Score: 2, Insightful

    Its a non-issue. As explained on a note at the end of the article, its a per session setting, not per tab, so the entire article misrepresented the "feature".

    "Edit: In the comments, Boris and David pointed out that I misread the code, and that this is a global preference so that there are no more than 8 cached pages for the entire session, not per tab. My initial posting had claimed that it was per-tab. Oops!"

    If Firefox has memory leaks (and I think it does), this is not what is causing it. If it were, however, per tab, as the article originally claimed, then it would have been a problem, because the more tabs you open, the memory usage increases at an alarming rate, if it has to keep up to 8 history pages cached.

    Nothing to see here. Move along.

              -dZ.

    --
    Carol vs. Ghost
    ...Can you save Christmas?
  154. I just recently switched to Konqueror by Entropy · · Score: 1

    I got sick of seeing huge amounts of RAM get sucked up by Firefox. Yesterday I had upwards of 30 tabs open in Konqueror - and about 1.8 of 2 gigs free. I honestly don't know how much RAM Firefox would have used if I had had the same tabs open. I would have been afraid to open that many in Firefox. Alas, it is a shame that the flagship (in the public's mind) application of OSS is so buggy.

    --
    The sea changes color, but the sea does not change.
  155. I've disabled all plugins,... by Futurepower(R) · · Score: 1

    I found that, too. I've disabled all plugins, but the CPU hogging bug is still worse than before.

  156. Generous for open source...? by Sithgunner · · Score: 1

    Just so typical about slashdot, but when it is Firefox when it has a problem, people post how to fix repetitively, but never tell people to switch to other browsers, but when it is about IE when it does this sort of thing, people repetitively tell people to just throw IE out the window and use Firefox.

    I don't know when people learn how to speak fair.

    1. Re:Generous for open source...? by suman28 · · Score: 1

      That is because Firefox/Opera/Safari are the better browsers stupid. Where have you heard about better innovations and features? I haven't seen much change in IE since Netscape's downfall, unless you call opening more security holes for hackers a feature.

  157. Re:Firefox is the most unstable program in common by Tim+C · · Score: 1

    Somehow Thunderbird and Mozilla share this bug.

    Well, Thunderbird and Firefox both use Gecko, so the problem may be there.

  158. Why is everyone bitching? by Anonymous Coward · · Score: 0

    Why is everyone complaining abour FF memory usage, Its fine for me, never goes above 40% cpu usage, no matter what i have running. Check out pic for more info.
    Spec: G4 1.25, 768ram OS X 10.3.9

    http://img206.imageshack.us/img206/7710/ff5ac.jpg

  159. A complete list of features... by Anonymous Coward · · Score: 0

    ...can be found quickly, using your favorite browser, by looking at this website:

    http://www.slyerfox.com/

    Enjoy.

  160. Re:spyware with IE or memory leak with FF.. by psxman · · Score: 1
  161. Apart from that... by Cinquero · · Score: 1

    firefox seems to never release any memory... do you have the same problem?

  162. Uhh Firefox isn't the only one... by PaisteUser · · Score: 1

    Okay, I see posts regarding how Opera doesn't do this and Opera is a greater browser, smaller footprint.
    So I decided to check out Opera for myself to see if my expirience is any different. Right now I'm looking at the memory usage of Opera, I've only had it open for about 10 minutes, and I notice that it's taking up 65,234K of memory. I compared that to what FireFox takes up after about the same time frame, and what a surprise, FireFox takes up 68,321K of memory.
    With webpages as complex as they are, I'm not surprised that they take up that much memory. When you cache complex pages, it's gonna take up memory, I'd rather have it be fast and use memory than constantly cache files to my hard drive, and slow down my system overall.

    --
    root@allevil:~#
  163. Hardly an issue.. by trintron · · Score: 1

    ..because I (and many others) have 2GB or RAM anyways.

    This weren't an issue even when I had only 1GB. We have lots of memory, why shouldn't use it? ;)

  164. Please don't tell me people are doing this... by mosel-saar-ruwer · · Score: 1

    And what if a program computed the distance between two objects, and later on used that distance to get from one object to the other?

    PLEASE don't tell me people are using hacks like that in this day and age.

    MAYBE if you were working in an embedded space, and you were programming very close to the hardware [VxWorks/QNX/whatnot], and you had to use a very slow processor to conserve on energy usage/heat consumption, and every fraction of a millisecond you could squeeze out of the software was vital...

    But even then, I wouldn't want those kinds of hacks in anything that came within a country mile of a "Medical Device" or a "Nuclear Power Plant" or whatever else it was that they used to exclude in the old Java license.

  165. Only one copy of Gecko? by Futurepower(R) · · Score: 1

    Is only one copy of Gecko loaded, even though you are running Thunderbird Mail, Mozilla Mail, and Firefox browser?

  166. Close the Browser! by rdebath · · Score: 1
    I know it might be a big radical round here but unlike some other browsers you can actually close Mozilla/Firefox without rebooting.

    If you want there's even the SessionSaver extension that keeps the current windows 'open' across a restart.

    To me the way that Firefox eats memory is expected, it's a big complicated program trying to follow a lot of very silly 'standards' and 'normal practices'. What surprises me is that it's very difficult to crash in a program this size and complexity that's a VERY good job.

  167. missing part. by Vo0k · · Score: 1

    But that's just bad programming, not a bug. Now for a speed-up bug:
    Which code will work faster?

    this:
    for(int i=0; i<num_elements;i++)
    {
          redraw(element[i]);
    }

    or this:
    for(int i=0; i<num_elements;i++);
    {
          redraw(element[i]);
    }

    Sanity checks take time. Omitting them saves this time. Doesn't matter if the code doesn't do the checks intentionally (design) or by omission (bug), it will be faster. Since evidently raw memory shows through from under an absolutely positioned element once moved, that's a result of a missing sanity check. The check would reveal a missing piece that needs to be rerendered or brought back from cache (which would take time). Instead, the part isn't re-rendered. I don't know the motives of Opera authors that cause this. I don't care if they did it intentionally or just forgot to fix it. It is an error that results in faster, but buggy drawing of the pages.

    --
    Anagram("United States of America") == "Dine out, taste a Mac, fries"
    1. Re:missing part. by Anonymous Coward · · Score: 0

      that dude is clearly trolling, how bother to explain to him the details?
      he himself is not competent enough to say anything solid.

      (btw, I haven't tried all the examples you gave; could be something to keep in mind when I need them.)

    2. Re:missing part. by Vo0k · · Score: 1

      Well, the examples are pretty simple. In one case you don't check for malloc() failing condition. One if() less, several cycles less. In case of not enough memory the program would coredump instead of quitting with error code. In the other case the for(); {} does n dry runs of empty for(); (ignoring anything after the semicolon) which do nothing but increment the counter, then executes the {} once. Only the last element would get re-rendered because when for() ends, its index is left at its last value and that's what the next instruction will take. Normally you never put ; after for() unless you packed everything inside the round braces and the following curly ones would come empty, like
      for(int i=0,j=strlen(string);ij;i++,j--,c=string[i],string [i]=string[j],string[j]=c);
      (which is some bad (but working) example of programming.)
      Note you can't do the same thing with while(), while(check(x++)); won't work, you need while(check(x++)){} or (cleaner, not completely equivalent though) while(check(x)){x++;}

      --
      Anagram("United States of America") == "Dine out, taste a Mac, fries"
  168. anyone know what affect by petermgreen · · Score: 1

    the likes of acrobat and flash have on firefoxes memory leakage?

    --
    note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  169. Re:Firefox is the most unstable program in common by weave · · Score: 1

    Thanks for that post since I've been seeing loads of CPU overload issues too. I thought all this time it must be just me, and even figured must be an extension I used since no way the core code could have this problem all these years. I often get CPU hitting 100% when doing absolutely nothing. I do tend to have loads of tabs open. It hits 100% and stays there for what seems like ages (15-30 minutes) before calming down. I have quit all tabs but one but it rarely helps. I usually just quit the program and restart.

  170. "Memory Leak"?!? by PhYrE2k2 · · Score: 1

    Please get the headlines straight. A memory leak is not freeing memory that is no longer used or needed ever. This is often accompanied by destroying the references to it instead of freeing it before that is done. That memory then can not be recovered until the application is terminated and memory is restored to the operating system.

    Growing memory demand is not a leak! Otherwise the archives of 10 years worth of data on most corporate networks is considered a 'leak', as it will just keep growing. As long as you know that it's there and can access it in the future, it's A-Okay.

    Given that, there should of course be a deemed maximum size at which point such pages are written to the disk, though then again, the OS probably does that anyway.

    One worry is often seen in both Windows and UNIX-based operating systems is that memory even when freed in the application remains allocated to the application. So allocating 500MB of memory and freeing it still means that 500MB of memory can't be used by anything but the application that originally allocated it. This worries me somewhat in regards to the memory demand on a multi-user system. A brake needs to be put into place.

    Nonetheless, it's not a bug, or a memory leak. Just an oversight.

    -M

    --

    when you see the word 'Linux', drink!
  171. compress it? by Anonymous Coward · · Score: 0

    simple compression/decompression should be faster than re-rendering

  172. Linux is a different story by metamatic · · Score: 1

    On my Debian system, Opera's page loading speed just blows away Firefox. It's so obvious it's not even worth measuring.

    --
    GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
  173. Re:Firefox is the most unstable program in common by yorkpaddy · · Score: 1

    The download feature on firefox is just broken for me. When I download something, it spikes to 100% for about 30secs in which time firefox is unresponsive, then it opens up download dialog. This is on an Atholon 750

    K-Meleon works great for downloading stuff, very fast, the UI isn't quite as polished as I would like though.

    --
    "brxref .k.p ,.by xprt. gbe.p.oycmaycbi yd. cby.nci.bj. ru yd. am.pcjab lgxlcj" don'
  174. No, YOU are missing the point. by poofyhairguy82 · · Score: 1
    You are missing the point. We love Firefox, and we want to improve it.

    More like "I love Firefox so I want other people to spend their time to improve it for me." Or do you have a patch posted somewhere thats fixes this problem for you that I do not know about?

    You are not a Firefox "customer." Either pull your weight or save your complaints for helpful bug reports. Discussion on /. never helps anything.

  175. Or put the effort into the Operating System? by mosel-saar-ruwer · · Score: 1

    But the problem is, someone needs to implement it. And that someone needs to also have a compiler that they can modify in terrible, terrible ways. It also would help to be an expert in designing thread-safe, interruptable heap compaction algorithms. Now, if you were in a position to do that, would you bolt this on to C++, or would you put that effort into a different language?

    Isn't this why we have operating systems? To give us things like "thread-safe, interruptable heap compaction algorithms"?

    The way you're describing it, what you've got is essentially an operating system within an operating system.

    Of course, large software programs [like an Oracle database] tend to become operating systems within operating systems, and, of course, that's why their performance is so atrocious. [Oracle ought to just write their own OS for Intel/AMD and say to hell with Windows & Linux].

  176. Javascript leaking example by DrLex · · Score: 1
    JavaScript shouldn't be able to leak objects, no matter how retarded it is. I think this issue has been fixed on the trunk though.
    Here's a nice counterexample. In fact, on my machine Firefox totally chokes on itself after letting this page run for about 10 minutes, before even being able to gobble up all memory: http://elek2002.vtk.be/displayframe.html

    This leak, or whatever it is, was already present in early versions of Netscape. It got fixed, but apparently it was reinvented in Firefox. Unless of course I'm doing something really wrong in this script, but I don't see what it could possibly be. Anyone who knows how to fix this would be really of much help. Otherwise I can only hope that this bug will ever be fixed.
  177. Lets try this... by DoctorDyna · · Score: 1
    Perhaps, it's not something thats in the basic code of FF that is causing leaks, but rather a perticular function (site code, if you will) that the browser parses a perticular way, which causes it to choke. I've seen a ton of people post about how it eats up memory for them when they leave it overnight, and alot of other people that say that it doesn't do that when they leave it on for the same time period. The only variable that we don't know about is what happens to be LOADED on the "simple html page".

    Ok, so if we're going to do this right, lets take all these people that violently say "It leaks!" and put them in one group and all the folks who say "It doesn't leak, you guys are on crack!" and put them in another. Have them keep a log, every so once in a while, write down a note that says what page you have open, whats going on in said page, and how much memory the browser happens to be using.

    Sounds like a simple idea, but I think we've left the debate too closed to science and reasoning, and everybody has used it as a forum to debate which browsers are better than others, which is usually not based on anything more than how the user feels about the parent company, and not really on technology.

    --
    Windows has more viruses because linux has more virus coders.
  178. WTF.. by Shifuimam · · Score: 1

    I did all the config changes listed in the comments, and nothing makes Firefox not hog my RAM. Something with 1.5.0.1 perhaps..?

    --
    I'm a geek girl. Seriously.
  179. Fixed in Firefox 1.5 by Kelson · · Score: 2, Informative

    At least, it has been according to the unofficial 1.5 changelog. The list of Mac-specific bugs fixed includes:

    151249 - [Mac] Middle click on link does nothing on Mac OS X (should open link in new tab).
  180. Firefox rationalization #13: by Anonymous Coward · · Score: 0

    Firefox rationalization #13: I have never seen this problem. Therefore, even though many people report it, it does not exist.

    Firefox rationalization #13b: If it does exist, it isn't important. All software has bugs.

  181. Which version of Opera? by CyricZ · · Score: 0, Offtopic

    Which version of Opera do you experience this with? Having been a long-time Opera user, I cannot say that I have ever seen that sort of consumption from Opera, even with 20 or more tabs open at a time. The upper bound is typically 75 MB, starting off at 23 MB or so on start up. That is with a 50 MB cache, mind you. So it is understandable that the consumption reaches up to 75 MB, when 50 MB of that is cache.

    --
    Cyric Zndovzny at your service.
  182. Re:Firefox is the most unstable program in common by Runty+McGhee · · Score: 1

    Used to happen to me too. After I cleared the list of files previously downloaded, the problem went away. That list, if allowed to grow without pruning, can grow infinitely. You need to delete all the entries.

  183. Re:Ready... Aim... by vsprintf · · Score: 1

    True, and he did contribute only $2,000. That should teach the rest of 'em. :)

  184. of course by ZiZe · · Score: 1

    Of course it's a feature, i cant believe anyony thought otherwise.

    --
    Quidquid latine dictum sit, altum sonatur.
  185. There are already plenty of clues, I think. by Futurepower(R) · · Score: 1

    You said, "If you can't help them reproduce it, you can't expect anything from them."

    In 3 years of submitting bug reports, no developer has ever asked me for help in reproducing the bug.

    There are already plenty of clues, I think. For example, the bug appears in Thunderbird, Mozilla mail, and Firefox browser, and the CPU hogging problem transfers itself from one to the other. That shows there is some code that is shared, apparently, or they are all corrupting the OS in the same way.

  186. They are discussing a beta version of Opera. by Futurepower(R) · · Score: 1

    Bunratty, By far the biggest issue is that you have an anger problem. You imply that I say things that I know are not true. That is incorrect.

    In any case, they are discussing a beta version of Opera.

    Mozilla products have had a CPU hogging problem for 3 years in the released versions.