Closed Bug 696680 Opened 13 years ago Closed 11 years ago

Lots of memory used when uploading images and video

Categories

(Core :: General, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: n.nethercote, Unassigned)

References

(Blocks 1 open bug)

Details

      No description provided.
[This report is from a commenter named Rustam on my blog.  Are images/videos decompressed when they get uploaded?  That seems surprising, but it's what it looks like according to about:memory.]


I'm not sure if this information could be useful for your project, but my Firefox (v. 7.01) uses more than 2GB of memory to upload 76 files (images + 4-5 videos) with a total size of 410MB into www.minus.com

The Firefox and all system (Win7, 64bit, with 6GB of memory) becomes very unresponsive for 2-3 minutes, then Firefox' memory consumption drops to aroun 550MB. However, once I open/view the minus.com tab, the memory again rises to 2GB and the system becomes unresponsive.

here's, what I got from about:memory

Thanks.


Main Process

Explicit Allocations
2,463.65 MB (100.0%) -- explicit
├──2,127.36 MB (86.35%) -- images
│  ├──2,126.88 MB (86.33%) -- content
│  │  ├──2,126.83 MB (86.33%) -- used
│  │  │  ├──1,947.33 MB (79.04%) -- uncompressed
│  │  │  └────179.50 MB (07.29%) -- raw
│  │  └──────0.05 MB (00.00%) -- (1 omitted)
│  └──────0.48 MB (00.02%) -- (1 omitted)
├────164.72 MB (06.69%) -- js
│    ├───57.13 MB (02.32%) -- (31 omitted)
│    ├───53.58 MB (02.17%) -- compartment([System Principal])
│    │   ├──23.05 MB (00.94%) -- gc-heap
│    │   │  └──23.05 MB (00.94%) -- (7 omitted)
│    │   ├──16.98 MB (00.69%) -- mjit-code
│    │   └──13.55 MB (00.55%) -- (6 omitted)
│    ├───21.45 MB (00.87%) -- compartment(https://minus.com/)
│    │   └──21.45 MB (00.87%) -- (8 omitted)
│    ├───18.48 MB (00.75%) -- compartment(http://maps.google.com/maps?q=Cinema+Ria...)
│    │   └──18.48 MB (00.75%) -- (8 omitted)
│    └───14.09 MB (00.57%) -- gc-heap-chunk-unused
├────140.51 MB (05.70%) -- heap-unclassified
├─────26.41 MB (01.07%) -- storage
│     └──26.41 MB (01.07%) -- sqlite
│        ├──19.38 MB (00.79%) -- urlclassifier3.sqlite
│        │  ├──19.30 MB (00.78%) -- cache-used
│        │  └───0.08 MB (00.00%) -- (2 omitted)
│        └───7.03 MB (00.29%) -- (12 omitted)
└──────4.65 MB (00.19%) -- (2 omitted)

Other Measurements
3,130.13 MB -- vsize
2,743.37 MB -- resident
2,662.55 MB -- private
2,449.57 MB -- heap-committed
2,429.40 MB -- heap-used
1,947.66 MB -- gfx-surface-image
 114.60 MB -- heap-unused
  88.00 MB -- js-gc-heap
  49.34 MB -- gfx-d2d-surfacecache
  15.49 MB -- gfx-d2d-surfacevram
   2.95 MB -- heap-dirty
   1.23 MB -- canvas-2d-pixel-bytes
   0.00 MB -- gfx-surface-win32
   0.00 MB -- shmem-allocated
   0.00 MB -- shmem-mapped
Summary: Lots of memory used when uploading files → Lots of memory used when uploading images and video
Whiteboard: [MemShrink]
That output looks like the site is showing all the uploaded files in the page...

As far as the upload goes, does this commenter perhaps have Firebug installed?
Assignee: nobody → nnethercote
Whiteboard: [MemShrink] → [MemShrink:P2]
I uploaded a video to this website.  Firefox's memory usage remained roughly constant throughout the upload until the preview was shown.

I think this is all image stuff.
[What follows is info from Rustam that I received via email.]


For the test purposes, I've downloaded the latest version of Firefox (10.0a1 (2011-10-24)) from this link: http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/

- Yes, 3-5 pictures get shown on the page depending on their size; in order to see the rest, you have to press on the "next" arrow. Not sure about videos.
- FYI, I cleaned cache and restarted FF before testing.
- Memory consumption rises only when the tab is active. When I switch to another tab, memory consumption decreases (after 10-15 seconds). When I switch back to the tab, memory consumption rises again (in 2-3 seconds). Always repeatable. Here's some more info. from about:memory:


1 - Immediately after starting the uploading. The respective tab is active


Main Process

Explicit Allocations
2,356.75 MB (100.0%) -- explicit
├──4,128.64 MB (175.18%) -- heap-unclassified
├─────71.69 MB (03.04%) -- js
│     ├──36.70 MB (01.56%) -- compartment([System Principal], 0x8264000)
│     │  ├──20.18 MB (00.86%) -- (11 omitted)
│     │  └──16.52 MB (00.70%) -- gc-heap
│     │     └──16.52 MB (00.70%) -- (9 omitted)
│     ├──21.51 MB (00.91%) -- (11 omitted)
│     └──13.48 MB (00.57%) -- gc-heap-chunk-dirty-unused
└──-1,843.58 MB (-78.23%) -- (9 omitted)

Other Measurements
  102.74 MB -- gfx-d2d-surfacecache
   11.87 MB -- gfx-d2d-surfacevram
2,056.68 MB -- gfx-surface-image
    0.00 MB -- gfx-surface-win32
2,304.22 MB -- heap-allocated
2,311.41 MB -- heap-committed
      0.31% -- heap-committed-unallocated-fraction
    1.56 MB -- heap-dirty
  107.78 MB -- heap-unallocated
          3 -- js-compartments-system
          5 -- js-compartments-user
   42.00 MB -- js-gc-heap
    7.33 MB -- js-gc-heap-arena-unused
    3.00 MB -- js-gc-heap-chunk-clean-unused
   13.48 MB -- js-gc-heap-chunk-dirty-unused
     56.68% -- js-gc-heap-unused-fraction
2,583.46 MB -- private
2,628.06 MB -- resident
2,984.54 MB -- vsize



2 - After 20-30 seconds. The respective tab is inactive


Main Process

Explicit Allocations
300.06 MB (100.0%) -- explicit
├──182.79 MB (60.92%) -- images
│  ├──182.56 MB (60.84%) -- content
│  │  ├──182.56 MB (60.84%) -- used
│  │  │  ├──182.49 MB (60.82%) -- raw
│  │  │  └────0.07 MB (00.02%) -- (2 omitted)
│  │  └────0.00 MB (00.00%) -- (1 omitted)
│  └────0.23 MB (00.08%) -- (1 omitted)
├───72.31 MB (24.10%) -- js
│   ├──37.49 MB (12.49%) -- compartment([System Principal], 0x8264000)
│   │  ├──16.52 MB (05.51%) -- gc-heap
│   │  │  ├───6.58 MB (02.19%) -- objects
│   │  │  ├───3.78 MB (01.26%) -- arena-unused
│   │  │  ├───3.51 MB (01.17%) -- shapes
│   │  │  └───2.65 MB (00.88%) -- (6 omitted)
│   │  ├───6.98 MB (02.33%) -- mjit-code
│   │  │   ├──6.70 MB (02.23%) -- method
│   │  │   └──0.28 MB (00.09%) -- (2 omitted)
│   │  ├───3.42 MB (01.14%) -- string-chars
│   │  ├───2.70 MB (00.90%) -- mjit-data
│   │  ├───2.66 MB (00.89%) -- script-data
│   │  ├───2.11 MB (00.70%) -- analysis-temporary
│   │  ├───1.58 MB (00.53%) -- object-slots
│   │  └───1.52 MB (00.51%) -- (5 omitted)
│   ├──13.30 MB (04.43%) -- compartment(https://minus.com/)
│   │  ├───6.15 MB (02.05%) -- gc-heap
│   │  │   ├──2.72 MB (00.91%) -- objects
│   │  │   ├──1.97 MB (00.66%) -- arena-unused
│   │  │   └──1.46 MB (00.49%) -- (6 omitted)
│   │  ├───2.52 MB (00.84%) -- (8 omitted)
│   │  ├───2.32 MB (00.77%) -- mjit-code
│   │  │   ├──2.19 MB (00.73%) -- method
│   │  │   └──0.13 MB (00.04%) -- (2 omitted)
│   │  └───2.30 MB (00.77%) -- analysis-temporary
│   ├──13.26 MB (04.42%) -- gc-heap-chunk-dirty-unused
│   ├───4.46 MB (01.49%) -- compartment(atoms)
│   │   ├──3.05 MB (01.02%) -- string-chars
│   │   └──1.41 MB (00.47%) -- (1 omitted)
│   └───3.81 MB (01.27%) -- (9 omitted)
├───34.68 MB (11.56%) -- heap-unclassified
├────3.73 MB (01.24%) -- storage
│    └──3.73 MB (01.24%) -- sqlite
│       ├──1.94 MB (00.65%) -- (9 omitted)
│       └──1.79 MB (00.60%) -- places.sqlite
│          ├──1.66 MB (00.55%) -- cache-used [3]
│          └──0.13 MB (00.04%) -- (2 omitted)
├────3.41 MB (01.14%) -- layout
│    └──3.41 MB (01.14%) -- (6 omitted)
├────2.22 MB (00.74%) -- dom
│    ├──2.22 MB (00.74%) -- other
│    └──0.00 MB (00.00%) -- (1 omitted)
└────0.92 MB (00.31%) -- (5 omitted)

Other Measurements
  0.18 MB -- gfx-d2d-surfacecache
 11.87 MB -- gfx-d2d-surfacevram
  0.27 MB -- gfx-surface-image
  0.00 MB -- gfx-surface-win32
249.70 MB -- heap-allocated
256.73 MB -- heap-committed
    2.73% -- heap-committed-unallocated-fraction
  3.16 MB -- heap-dirty
 67.30 MB -- heap-unallocated
        3 -- js-compartments-system
        5 -- js-compartments-user
 39.00 MB -- js-gc-heap
  6.05 MB -- js-gc-heap-arena-unused
  0.00 MB -- js-gc-heap-chunk-clean-unused
 13.26 MB -- js-gc-heap-chunk-dirty-unused
   49.51% -- js-gc-heap-unused-fraction
420.03 MB -- private
466.38 MB -- resident
789.22 MB -- vsize


3 - The respective tab is active again.



Main Process

Explicit Allocations
2,261.32 MB (100.0%) -- explicit
├──2,146.58 MB (94.93%) -- images
│  ├──2,146.35 MB (94.92%) -- content
│  │  ├──2,146.35 MB (94.92%) -- used
│  │  │  ├──1,969.66 MB (87.10%) -- uncompressed-heap
│  │  │  ├────176.69 MB (07.81%) -- raw
│  │  │  └──────0.00 MB (00.00%) -- (1 omitted)
│  │  └──────0.00 MB (00.00%) -- (1 omitted)
│  └──────0.23 MB (00.01%) -- (1 omitted)
├─────70.79 MB (03.13%) -- js
│     ├──38.45 MB (01.70%) -- compartment([System Principal], 0x8264000)
│     │  ├──21.90 MB (00.97%) -- (11 omitted)
│     │  └──16.55 MB (00.73%) -- gc-heap
│     │     └──16.55 MB (00.73%) -- (9 omitted)
│     ├──18.90 MB (00.84%) -- (11 omitted)
│     └──13.44 MB (00.59%) -- gc-heap-chunk-dirty-unused
├─────33.50 MB (01.48%) -- heap-unclassified
└─────10.44 MB (00.46%) -- (8 omitted)

Other Measurements
   79.21 MB -- gfx-d2d-surfacecache
   11.87 MB -- gfx-d2d-surfacevram
1,969.87 MB -- gfx-surface-image
    0.00 MB -- gfx-surface-win32
2,211.08 MB -- heap-allocated
2,217.99 MB -- heap-committed
      0.31% -- heap-committed-unallocated-fraction
    2.05 MB -- heap-dirty
  102.91 MB -- heap-unallocated
          3 -- js-compartments-system
          5 -- js-compartments-user
   39.00 MB -- js-gc-heap
    6.86 MB -- js-gc-heap-arena-unused
    0.00 MB -- js-gc-heap-chunk-clean-unused
   13.44 MB -- js-gc-heap-chunk-dirty-unused
     52.04% -- js-gc-heap-unused-fraction
2,444.63 MB -- private
2,492.91 MB -- resident
2,840.32 MB -- vsize


- From my own unprofessional testing, I can tell that FF v. 10.0a uses less memory than FF v. 7.0.1 when the tab is inactive.

FYI: I remember that I did the same kind of uploading with Internet Explorer 9 the very first day to see if it was Firefox' problem. IE used less memory than FF, though it was increasing slowly and gradually.
Thanks for the detailed data!

> - Memory consumption rises only when the tab is active. When I switch to
> another tab, memory consumption decreases (after 10-15 seconds). When I
> switch back to the tab, memory consumption rises again (in 2-3 seconds).
> Always repeatable.

This is expected behaviour.  In order to show an image, Firefox has to "decompress" it into a form that is displayable, and that decompressed form is larger.  So a file that takes, say, 100KB on disk may take 500KB when decompressed.

Furthermore, Firefox sometimes throws away the decompressed data, and re-decompresses it when necessary.  Specifically, when you switch away from a tab Firefox will discard decompressed images from that tab after 10--20 seconds.  And when you switch back, Firefox will re-decompress.

> Explicit Allocations
> 2,356.75 MB (100.0%) -- explicit
> ├──4,128.64 MB (175.18%) -- heap-unclassified
> ├─────71.69 MB (03.04%) -- js
> │     ├──36.70 MB (01.56%) -- compartment([System Principal], 0x8264000)
> │     │  ├──20.18 MB (00.86%) -- (11 omitted)
> │     │  └──16.52 MB (00.70%) -- gc-heap
> │     │     └──16.52 MB (00.70%) -- (9 omitted)
> │     ├──21.51 MB (00.91%) -- (11 omitted)
> │     └──13.48 MB (00.57%) -- gc-heap-chunk-dirty-unused
> └──-1,843.58 MB (-78.23%) -- (9 omitted)

Wow, that's some really bogus numbers there:  175.18%, -78.23%.  Can you reliably reproduce percentages outside the range 0--100% in about:memory?  If so, can you please tell us the step to reproduce?

> - From my own unprofessional testing, I can tell that FF v. 10.0a uses less
> memory than FF v. 7.0.1 when the tab is inactive.

That's interesting, I can't think of any significant changes between 7 and 10 that would explain that.
 
You said you have around 70 images and 4-5 videos and the total size is 410MB.  How big are the videos?

Maybe there's no bug here -- the 5x expansion factor for uncompressed images (410MB --> 2GB) sounds reasonable?   Hmm, but the lack of responsiveness makes it sound like paging is happening, though on a 64-bit Windows machine with 6GB RAM shouldn't 4GB of physical memory be available to Firefox?  (The ~2.5GB "resident" numbers in the 1st and 3rd about:memory above make it sound like swapping isn't happening.)
> the 5x expansion factor for uncompressed images (410MB --> 2GB) sounds reasonable? 

It really depends on the images.  For example, PNGs can have arbitrarily big compression ratios (e.g. a solid-color png can be tiny on disk).

A more useful question is what the size of the images (in pixels) is.  A decompressed image takes up 4*width*height bytes (so your typical 10 megapixel camera photo will take up 40MB of memory).

Right now we decode all images on the page, even hidden ones, so if they're all there and the "next" arrow just unhides them then we would be storing them all in memory uncompressed.
Blocks: image-suck
Here is more information about this specific issue. Below, I will also try to answer your questions.

I run Windows 7, 64bit, with 6GB of memory, with all the latest updates installed.

Steps to reproduce this bug:
1 - Open www.minus.com
2 - Start uploading several images
3 - Check about:memory
4 - FF 9 (stable) and FF12 (latest nightly build, 21.01.2012) uses 3-4 times more memory than the total size of all the pictures uploaded. Moreover, it becomes slow, especially when viewing minus.com tab.

Expected result: FF uses much less memory
Reproducible: Yes, always

I made the following tests (with about:memory info. captured):

1 - Uploaded 76 files (9 videos + 67 JPEG images, total size 410MB)
Both FF 9 and 12 become very slow and consume lots of memory. In the same test, IE 9 uses much less memory than FF 9 and 12, though it slowly and gradually grows.

With FF 9: http://www.mediafire.com/?4jfnn878538l051
With FF 12: http://www.mediafire.com/?znb6o5hgw86e3cg



2 - Uploaded 50 files (JPEG images only, total size 139MB)
Same problem.

With FF 12: http://www.mediafire.com/?0ptug3zxj5b1r3t



3 - Uploaded 50 files (PNG images only, total size 367MB)
No issues, FF 12 stayed responsive during the test.

With FF 12: http://www.mediafire.com/?zbmhuce8uj2dprv



4 - Uploaded 9 files (MP4 videos only, total size 225MB)
No issues, FF 12 stayed responsive and the memory did not even rise.

With FF12: http://www.mediafire.com/?4sy83pmb1bhx110


Please note that all videos will be available for downloading until 21.02.2012. Also, please do not disseminate this videos on public blogs/websites, etc.

Questions:

1 - From Comment # 5:

> Explicit Allocations
> 2,356.75 MB (100.0%) -- explicit
> ├──4,128.64 MB (175.18%) -- heap-unclassified
> ├─────71.69 MB (03.04%) -- js
> │     ├──36.70 MB (01.56%) -- compartment([System Principal], 0x8264000)
> │     │  ├──20.18 MB (00.86%) -- (11 omitted)
> │     │  └──16.52 MB (00.70%) -- gc-heap
> │     │     └──16.52 MB (00.70%) -- (9 omitted)
> │     ├──21.51 MB (00.91%) -- (11 omitted)
> │     └──13.48 MB (00.57%) -- gc-heap-chunk-dirty-unused
> └──-1,843.58 MB (-78.23%) -- (9 omitted)

Wow, that's some really bogus numbers there:  175.18%, -78.23%.  Can you reliably reproduce percentages outside the range 0--100% in about:memory?  If so, can you please tell us the step to reproduce?


- No, I have never managed to reproduce these numbers ever since. I remember having seen these kind of weird numbers in FF 5-7, but haven't seen them ever since.



2 - From Comment # 5:

> - From my own unprofessional testing, I can tell that FF v. 10.0a uses less
> memory than FF v. 7.0.1 when the tab is inactive.

That's interesting, I can't think of any significant changes between 7 and 10 that would explain that.
 
You said you have around 70 images and 4-5 videos and the total size is 410MB.  How big are the videos?


- For testing purposes, I have used 9 video files of MP4 format. The biggest file is 103MB, the smallest 4.47MB. You can see the exact size of each file in one of the above-given videos.



3 - From Comment # 6:

> the 5x expansion factor for uncompressed images (410MB --> 2GB) sounds reasonable? 

It really depends on the images.  For example, PNGs can have arbitrarily big compression ratios (e.g. a solid-color png can be tiny on disk).

A more useful question is what the size of the images (in pixels) is.  A decompressed image takes up 4*width*height bytes (so your typical 10 megapixel camera photo will take up 40MB of memory).

Right now we decode all images on the page, even hidden ones, so if they're all there and the "next" arrow just unhides them then we would be storing them all in memory uncompressed.


- Personally I think that this behavior of FF is weird and unacceptable, particularly if you take into account that IE 9 can do better. From the videos above, it is clear that memory rises only when JPEG images are uploaded. PNGs consume less memory, while videos do not create any problem at all.
As regards the specific question of the size of the images in pixels, all JPEG and PNG images are in 3264 x 2448 pixels. I hope this answers your question.


If you have more question, please do not hesitate to ask.

R.
Assignee: n.nethercote → nobody
Whiteboard: [MemShrink:P2]
I wonder if bug 689623's landing has helped this.  Rustam, if you can try tomorrow's Nightly build that would be very helpful.
Unfortunately, the website's (minus.com) layout and functionality has changed since the first time I reported this bug. Nonetheless, I've checked minus.com today with the latest FF nightly build (22.0a1 (2013-03-02)) and I can confirm that uploading pictures to the website does not create any problems or sluggishness in browsing anymore. The memory increases while loading pages with pictures (from around 200 to 350-400 with 3-4 tabs open), but then it always gets released after 10-20 seconds. Therefore, I believe that the problem is fixed.

On a separate note, I'd like to bring to your attention 2 things (which are probably not related to this bug):

1 - while browsing a user's gallery of pictures in minus.com, I've noted that FF gets slightly sluggish (to a tolerable degree). Probably, it's related to the fact that pictures get (down)loaded and probably it's something normal (for this website). However, the reason why I'm noting this here is that the FF memory rose to 549MB from 200MB when I browsed a user's gallery of pictures (this does not happen when I browse the homepage of minus.com). The good news is that all memory gets released after 10-20 seconds once I stop browsing a user's gallery of pictures. I copy about:memory results for your attention:


549.01 MB (100.0%) -- explicit
├──220.57 MB (40.18%) -- window-objects
│  ├──148.34 MB (27.02%) -- top(https://minus.com/lbdPRRnfHFCfIr, id=202)/active
│  │  ├───58.27 MB (10.61%) ++ (17 tiny)
│  │  ├───18.76 MB (03.42%) -- window(https://minus.com/lbdPRRnfHFCfIr)
│  │  │   ├──15.42 MB (02.81%) -- js
│  │  │   │  ├──14.05 MB (02.56%) -- compartment(https://minus.com/lbdPRRnfHFCfIr)
│  │  │   │  │  ├───8.31 MB (01.51%) ++ (8 tiny)
│  │  │   │  │  └───5.73 MB (01.04%) ++ type-inference
│  │  │   │  └───1.38 MB (00.25%) ++ (2 tiny)
│  │  │   └───3.33 MB (00.61%) ++ (4 tiny)
│  │  ├───14.27 MB (02.60%) -- window(https://minus.com/lZt2CmniCj3y2)
│  │  │   ├──14.25 MB (02.60%) -- js/compartment(https://minus.com/lZt2CmniCj3y2)
│  │  │   │  ├───8.41 MB (01.53%) ++ (8 tiny)
│  │  │   │  └───5.85 MB (01.06%) ++ type-inference
│  │  │   └───0.02 MB (00.00%) ++ dom
│  │  ├───14.27 MB (02.60%) -- window(https://minus.com/lqOX6B8JXahjS)
│  │  │   ├──14.25 MB (02.60%) -- js/compartment(https://minus.com/lqOX6B8JXahjS)
│  │  │   │  ├───8.41 MB (01.53%) ++ (8 tiny)
│  │  │   │  └───5.85 MB (01.06%) ++ type-inference
│  │  │   └───0.02 MB (00.00%) ++ dom
│  │  ├───14.27 MB (02.60%) -- window(https://minus.com/lfCJCaFpvFVCJ)
│  │  │   ├──14.25 MB (02.60%) -- js/compartment(https://minus.com/lfCJCaFpvFVCJ)
│  │  │   │  ├───8.40 MB (01.53%) ++ (8 tiny)
│  │  │   │  └───5.85 MB (01.06%) ++ type-inference
│  │  │   └───0.02 MB (00.00%) ++ dom
│  │  ├───14.27 MB (02.60%) -- window(https://minus.com/lbes1PzIsSsUIu)
│  │  │   ├──14.25 MB (02.60%) -- js/compartment(https://minus.com/lbes1PzIsSsUIu)
│  │  │   │  ├───8.40 MB (01.53%) ++ (8 tiny)
│  │  │   │  └───5.85 MB (01.06%) ++ type-inference
│  │  │   └───0.02 MB (00.00%) ++ dom
│  │  └───14.24 MB (02.59%) -- window(https://minus.com/lPZQithaNODiU)
│  │      ├──14.22 MB (02.59%) -- js/compartment(https://minus.com/lPZQithaNODiU)
│  │      │  ├───8.41 MB (01.53%) ++ (8 tiny)
│  │      │  └───5.81 MB (01.06%) ++ type-inference
│  │      └───0.02 MB (00.00%) ++ dom
│  ├───29.85 MB (05.44%) -- top(https://mail.google.com/mail/?ui=2&shva=1#inbox, id=25)/active
│  │   ├──17.34 MB (03.16%) -- window(https://mail.google.com/_/mail-static/_/js/main/m_i,t/rt=h/ver=9hYxErMafYw.en./sv=1/am=!-w6YXY4fi1r0ROXa1PjsAoCloSYgQbaUWPsu2DV6zZHYIo4yf_-OPpbxsyviqUw4fEgtEV8/d=1)
│  │   │  ├──14.83 MB (02.70%) -- js
│  │   │  │  ├──14.75 MB (02.69%) -- compartment(https://mail.google.com/_/mail-static/_/js/main/m_i,t/rt=h/ver=9hYxErMafYw.en./sv=1/am=!-w6YXY4fi1r0ROXa1PjsAoCloSYgQbaUWPsu2DV6zZHYIo4yf_-OPpbxsyviqUw4fEgtEV8/d=1, about:blank)
│  │   │  │  │  ├───9.19 MB (01.67%) ++ gc-heap
│  │   │  │  │  └───5.56 MB (01.01%) ++ (8 tiny)
│  │   │  │  └───0.08 MB (00.02%) ++ compartment([Expanded Principal])
│  │   │  └───2.51 MB (00.46%) ++ (4 tiny)
│  │   ├───7.91 MB (01.44%) ++ window(https://mail.google.com/mail/?ui=2&shva=1#inbox)
│  │   └───4.60 MB (00.84%) ++ (3 tiny)
│  ├───18.32 MB (03.34%) -- top(https://minus.com/, id=10)/active
│  │   ├──16.93 MB (03.08%) -- window(https://minus.com/)
│  │   │  ├──10.36 MB (01.89%) ++ (4 tiny)
│  │   │  └───6.57 MB (01.20%) -- js
│  │   │      ├──6.53 MB (01.19%) ++ compartment(https://minus.com/)
│  │   │      └──0.05 MB (00.01%) ++ compartment([Expanded Principal])
│  │   └───1.38 MB (00.25%) ++ window(https://s-static.ak.facebook.com/connect/xd_arbiter.php?version=18#channel=f1b005c47566bbe&origin=https%3A%2F%2Fminus.com&channel_path=%2Fapi%2Ffacebook%2Fchannel.html%3Ffb_xd_fragment%23xd_sig%3Df24eba01db1fdc6%26)
│  ├───11.20 MB (02.04%) ++ top(none)/detached
│  ├────8.79 MB (01.60%) -- top(chrome://browser/content/browser.xul, id=5)/active
│  │    ├──8.74 MB (01.59%) ++ window(chrome://browser/content/browser.xul)
│  │    └──0.06 MB (00.01%) ++ window(about:blank)
│  └────4.06 MB (00.74%) ++ (10 tiny)
├──164.47 MB (29.96%) -- js-non-window
│  ├───88.14 MB (16.05%) -- compartments
│  │   ├──75.18 MB (13.69%) -- non-window-global
│  │   │  ├──41.86 MB (07.62%) ++ (271 tiny)
│  │   │  ├──17.47 MB (03.18%) -- compartment([System Principal], jar:file:///C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/User.default/extensions/%7Bd10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d%7D.xpi!/bootstrap.js (from: resource://gre/modules/XPIProvider.jsm:3702))
│  │   │  │  ├──12.20 MB (02.22%) ++ gc-heap
│  │   │  │  └───5.27 MB (00.96%) ++ (9 tiny)
│  │   │  ├──10.05 MB (01.83%) ++ compartment([System Principal], file:///C:/Users/User/AppData/Roaming/Mozilla/Firefox/Profiles/User.default/extensions/support@lastpass.com/components/lastpass.js)
│  │   │  └───5.79 MB (01.06%) ++ compartment([System Principal], resource:///modules/sessionstore/SessionStore.jsm)
│  │   └──12.96 MB (02.36%) -- no-global
│  │      ├──12.88 MB (02.35%) -- compartment(atoms)
│  │      │  ├───9.72 MB (01.77%) -- string-chars
│  │      │  │   ├──5.71 MB (01.04%) ── non-huge
│  │      │  │   └──4.01 MB (00.73%) ++ huge
│  │      │  └───3.17 MB (00.58%) ++ (2 tiny)
│  │      └───0.07 MB (00.01%) ++ (18 tiny)
│  ├───48.69 MB (08.87%) -- runtime
│  │   ├──17.28 MB (03.15%) ── script-sources
│  │   ├──13.27 MB (02.42%) ── script-data
│  │   ├───9.59 MB (01.75%) ── jaeger-code
│  │   └───8.55 MB (01.56%) ++ (13 tiny)
│  └───27.64 MB (05.04%) -- gc-heap
│      ├──23.97 MB (04.37%) ── decommitted-arenas
│      └───3.67 MB (00.67%) ++ (3 tiny)
├───81.46 MB (14.84%) ── heap-unclassified
├───41.46 MB (07.55%) -- images
│   ├──41.07 MB (07.48%) -- content
│   │  ├──41.07 MB (07.48%) -- used
│   │  │  ├──24.33 MB (04.43%) ── uncompressed-nonheap
│   │  │  ├──16.54 MB (03.01%) ── raw
│   │  │  └───0.19 MB (00.03%) ── uncompressed-heap
│   │  └───0.00 MB (00.00%) ++ unused
│   └───0.40 MB (00.07%) ++ chrome
├───22.04 MB (04.01%) ++ (15 tiny)
├───10.17 MB (01.85%) -- storage
│   ├──10.17 MB (01.85%) -- sqlite
│   │  ├───5.85 MB (01.07%) -- places.sqlite
│   │  │   ├──5.59 MB (01.02%) ── cache-used [4]
│   │  │   └──0.26 MB (00.05%) ++ (2 tiny)
│   │  └───4.33 MB (00.79%) ++ (9 tiny)
│   └───0.00 MB (00.00%) ++ prefixset
└────8.83 MB (01.61%) ++ workers/workers()

Other Measurements
512 (100.0%) -- js-compartments
├──354 (69.14%) ── system
└──158 (30.86%) ── user

353.40 MB (100.0%) -- js-main-runtime
├──277.06 MB (78.40%) -- compartments
│  ├──136.36 MB (38.58%) -- gc-heap
│  │  ├───44.95 MB (12.72%) ── unused-gc-things
│  │  ├───36.55 MB (10.34%) -- objects
│  │  │   ├──15.76 MB (04.46%) ── ordinary
│  │  │   ├──14.59 MB (04.13%) ── function
│  │  │   ├───5.56 MB (01.57%) ── dense-array
│  │  │   └───0.64 MB (00.18%) ── cross-compartment-wrapper
│  │  ├───20.79 MB (05.88%) -- shapes
│  │  │   ├──11.00 MB (03.11%) -- tree
│  │  │   │  ├──10.36 MB (02.93%) ── global-parented
│  │  │   │  └───0.65 MB (00.18%) ── non-global-parented
│  │  │   ├───5.25 MB (01.49%) ── dict
│  │  │   └───4.53 MB (01.28%) ── base
│  │  ├───20.61 MB (05.83%) ── scripts
│  │  ├────8.40 MB (02.38%) -- strings
│  │  │    ├──5.38 MB (01.52%) ── normal
│  │  │    └──3.02 MB (00.85%) ── short
│  │  ├────3.69 MB (01.04%) ── type-objects
│  │  └────1.37 MB (00.39%) ++ (2 tiny)
│  ├───54.26 MB (15.35%) -- type-inference
│  │   ├──40.16 MB (11.36%) ── analysis-pool
│  │   ├───8.45 MB (02.39%) ── type-scripts
│  │   ├───4.60 MB (01.30%) ── type-pool
│  │   └───1.06 MB (00.30%) ++ (5 tiny)
│  ├───49.53 MB (14.02%) -- string-chars
│  │   ├──31.81 MB (09.00%) -- huge
│  │   │  ├──21.50 MB (06.08%) ++ (166 tiny)
│  │   │  └──10.31 MB (02.92%) ── string(length=900729, "(function(a,b){function c(a){re...") [6]
│  │   └──17.72 MB (05.01%) ── non-huge
│  ├───15.06 MB (04.26%) -- shapes-extra
│  │   ├───6.43 MB (01.82%) ── compartment-tables
│  │   ├───4.90 MB (01.39%) ++ (2 tiny)
│  │   └───3.73 MB (01.06%) ── tree-tables
│  ├───14.13 MB (04.00%) -- objects-extra
│  │   ├───8.95 MB (02.53%) ── slots
│  │   ├───4.54 MB (01.28%) ── elements
│  │   └───0.64 MB (00.18%) ++ (3 tiny)
│  └────7.73 MB (02.19%) ++ (7 tiny)
├───48.69 MB (13.78%) ── runtime
└───27.64 MB (07.82%) -- gc-heap
    ├──23.97 MB (06.78%) ── decommitted-arenas
    └───3.67 MB (01.04%) ++ (3 tiny)

140.03 MB (100.0%) -- js-main-runtime-gc-heap-committed
├───93.96 MB (67.10%) -- used
│   ├──90.04 MB (64.30%) ── gc-things
│   ├───2.55 MB (01.82%) ── chunk-admin
│   └───1.37 MB (00.98%) ── arena-admin
└───46.07 MB (32.90%) -- unused
    ├──44.95 MB (32.10%) ── gc-things
    └───1.13 MB (00.80%) ++ (2 tiny)

0 (100.0%) -- low-memory-events
├──0 (100.0%) ── physical
└──0 (100.0%) ── virtual

31.66 MB (100.0%) -- window-objects
├──14.93 MB (47.15%) -- layout
│  ├──10.21 MB (32.23%) ── style-sets
│  ├───1.79 MB (05.66%) ── pres-shell
│  ├───1.18 MB (03.72%) ── frames
│  ├───1.08 MB (03.40%) ── style-contexts
│  └───0.67 MB (02.13%) ++ (4 tiny)
├──10.52 MB (33.24%) -- dom
│  ├───5.81 MB (18.35%) ── element-nodes
│  ├───3.56 MB (11.25%) ── text-nodes
│  ├───0.49 MB (01.55%) ── other
│  ├───0.45 MB (01.43%) ── orphan-nodes
│  └───0.21 MB (00.66%) ++ (3 tiny)
├───6.19 MB (19.55%) ── style-sheets
└───0.02 MB (00.06%) ── property-tables

  0.00 MB ── canvas-2d-pixel-bytes
548.88 MB ── explicit
  0.00 MB ── gfx-d2d-surfacecache
  0.00 MB ── gfx-d2d-surfacevram
  0.00 MB ── gfx-d2d-vram-drawtarget
  0.00 MB ── gfx-d2d-vram-sourcesurface
  0.19 MB ── gfx-surface-image
 25.00 MB ── gfx-surface-win32
  0.00 MB ── gfx-textures
        0 ── ghost-windows
340.72 MB ── heap-allocated
348.10 MB ── heap-committed
  7.38 MB ── heap-committed-unused
    2.15% ── heap-committed-unused-ratio
  0.59 MB ── heap-dirty
 16.25 MB ── heap-unused
 24.53 MB ── images-content-used-uncompressed
164.00 MB ── js-gc-heap
        0 ── low-commit-space-events
583.16 MB ── private
605.12 MB ── resident
 10.17 MB ── storage-sqlite
818.21 MB ── vsize




2 - It's been more than 2-3 months (maybe even more) that I've noted that once you open a web page with a picture (for example, a picture in Facebook or the homepage of minus.com), switch to another tab and then switch back to the previous tab (Facebook or minus.com), FF gets needs some time to display the previously loaded picture. It also gets bit sluggish. I've checked about:memory in such instances and it seems that there is no memory consumption related problem. Though, I have to admit it's something quite annoying.

If you have any other question, just let me know.

And thank you for all your work!
Fixed, as per paragraph 1 of comment 9.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.