![]() Yes, I'd say firefox still wants to have almost all of its pages resident, even when not active, which is not friendly on a multi-tasking system. ![]() Memory usage after compacting memory: 1.07 gb. So, highest memory usage I can get: 1.19 gb. Note: During this message, going over all the windows, bringing up at least the titles of all pages, memory usage went up to 1.16 GB.įor completeness, actually going top to bottom of all web pages: up to 1.19GB. Not sure why 10 pages on particle physics are sharing a window with a political reform third party. Hmm, I keep my windows mostly organized, only a little cross-pollination going on. Sixth window: 5 from, one from (noscript prevented flash player from loading), homepage from ted.comħth window: 9 from Oracle, one each from linkedin,, and Third window: 3 tabs from "" and ""įourth window: 2 from github, one from įifth window: 10 from wikipedia, and the front page from "" I don't even know if this is cross-operating system possible or not. So I don't know how well these ideas will translate. In other words, rather than one global pool of memory to clean up, each page gets its own pool of memory, plus a shared eden space as needed. When the page is displayed (tab brought to the front), clicks arrive, javascript events arrive, etc, then the page gets "unclean" until the next mark-sweep-copy. ![]() This step might not be "portable" :-).ĭuring future compaction, a "clean" block can be ignored - and the top level object for that web page can track if the details for that page are clean or not. Now unallocate all the old storage blocks, returning them to the operating system. Then, mark that block as belonging to that top level object, and clean. As a first idea for implementation, one pass would identify all the memory needed for a single page (think "mark-sweep" starting from that page's top object), then allocate a block of memory from the operating system for that size plus some "surplus"(assuming that further usage of that page would grow it a little), then copy (as in "survivor space copy") all the objects for that page to that block. If I could do a full redesign of memory behavior (this is probably not possible), I'd make sure that all data related to a single web page was compacted into a single block of memory. I don't know how deep of a memory issue this is. So, I hit "minimize memory usage".Ĭonclusion: Firefox, even in 17, seems to be paging in almost all data pages on a regular basis.Įxpected behavior: Data pages referring to web pages that are not displayed (background tabs) or windows that are not being refreshed (not visible) will not be touched, nor read. Firefox went up to 853MB.Īgain: That was with no windows displayed, no interactions of any kind except for messages queued while paused.ĭisplayed windows. Let it get "mostly paged out" to only about 20mb resident (seriously, why are the "select page to swap out" routines so badly willing to leave unused memory in RAM and put wanted pages out instead? It took hours to get FF down that far). ![]() Next: running other programs, letting firefox "fight" for resident pages. Loaded, allowed all tabs to load, memory consumption was 1.3gb at the peak. TenFourFox just released a 17ESR version, so I'll be switching to that real soon now if this has been solved by 17, then just close this, and I apologize. I've got two machines running TenFourFox, and this one, all syncing profiles. Now, granted, that's kind of hard to avoid in a GC system. In the case of firefox, since it seems to have some form of internal garbage collection, it seems that it wants to walk all of the data pages to collect garbage, and force everything into memory. Programs that actually must keep their memory in use are just badly behaved. If a program is sitting around, not doing anything, then it should sit around and not do anything. ![]() I was using a different program, fairly memory hungry (Java game "minecraft") while firefox was sitting in the background, doing nothing.Īs reported by Activity Monitor (think GUI interface to "top"), when I quit Minecraft, firefox's memory usage went from about 200MB back up to over 800MB, without any interaction with it from me. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |