Closed Bug 903724 Opened 12 years ago Closed 12 years ago

osfile_async_worker.js uses a *ton* of memory

Categories

(Core Graveyard :: File Handling, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: jst, Unassigned)

Details

(Whiteboard: [MemShrink])

After running Firefox for quite some time, I see the following in about:memory. Something seems not right, 90 megs of memory held by this worker. │ ├───90,872,544 B (05.41%) -- worker(resource://gre/modules/osfile/osfile_async_worker.js, 0x7f7db8f45000) │ │ ├──84,193,280 B (05.01%) -- gc-heap │ │ │ ├──81,788,928 B (04.87%) ── unused-chunks │ │ │ ├───2,306,048 B (00.14%) ── unused-arenas │ │ │ └──────98,304 B (00.01%) ── chunk-admin │ │ ├───5,146,736 B (00.31%) -- zone(0x7f7db74b9000) │ │ │ ├──3,393,416 B (00.20%) -- compartment(web-worker) │ │ │ │ ├──2,609,856 B (00.16%) -- gc-heap │ │ │ │ │ ├──2,480,400 B (00.15%) -- objects │ │ │ │ │ │ ├──1,791,888 B (00.11%) ── ordinary │ │ │ │ │ │ ├────638,464 B (00.04%) ── dense-array │ │ │ │ │ │ └─────50,048 B (00.00%) ── function │ │ │ │ │ ├─────87,568 B (00.01%) -- shapes │ │ │ │ │ │ ├──60,640 B (00.00%) -- tree │ │ │ │ │ │ │ ├──44,920 B (00.00%) ── global-parented │ │ │ │ │ │ │ └──15,720 B (00.00%) ── non-global-parented │ │ │ │ │ │ └──26,928 B (00.00%) ── base │ │ │ │ │ ├─────37,248 B (00.00%) ── scripts │ │ │ │ │ └──────4,640 B (00.00%) ── sundries │ │ │ │ ├────544,632 B (00.03%) -- objects-extra │ │ │ │ │ ├──448,832 B (00.03%) ── slots │ │ │ │ │ └───95,800 B (00.01%) ── ctypes-data │ │ │ │ ├────126,160 B (00.01%) -- baseline │ │ │ │ │ ├───98,560 B (00.01%) -- stubs │ │ │ │ │ │ ├──73,984 B (00.00%) ── fallback │ │ │ │ │ │ └──24,576 B (00.00%) ── optimized │ │ │ │ │ └───27,600 B (00.00%) ── data │ │ │ │ ├─────49,744 B (00.00%) -- type-inference │ │ │ │ │ ├──32,768 B (00.00%) ── analysis-pool │ │ │ │ │ └──16,976 B (00.00%) ── type-scripts │ │ │ │ ├─────41,216 B (00.00%) -- shapes-extra │ │ │ │ │ ├──26,624 B (00.00%) ── compartment-tables │ │ │ │ │ └──14,592 B (00.00%) ── tree-tables │ │ │ │ ├─────13,232 B (00.00%) ── other-sundries │ │ │ │ └──────8,576 B (00.00%) ── script-data │ │ │ ├────918,232 B (00.05%) ── string-chars/non-huge │ │ │ ├────818,496 B (00.05%) -- gc-heap │ │ │ │ ├──677,088 B (00.04%) ── strings/normal │ │ │ │ ├───67,752 B (00.00%) ── unused-gc-things │ │ │ │ ├───48,480 B (00.00%) ── arena-admin │ │ │ │ ├───14,168 B (00.00%) ── type-objects │ │ │ │ ├────9,024 B (00.00%) ── ion-codes │ │ │ │ └────1,984 B (00.00%) ── sundries │ │ │ ├─────16,384 B (00.00%) ── type-pool │ │ │ └────────208 B (00.00%) ── other-sundries │ │ ├───1,012,656 B (00.06%) -- runtime │ │ │ ├────267,216 B (00.02%) ── script-sources │ │ │ ├────262,144 B (00.02%) ── gc-marker │ │ │ ├────196,608 B (00.01%) -- code │ │ │ │ ├──101,920 B (00.01%) ── baseline │ │ │ │ ├───53,608 B (00.00%) ── other │ │ │ │ ├───41,080 B (00.00%) ── unused │ │ │ │ ├────────0 B (00.00%) ── asm.js │ │ │ │ ├────────0 B (00.00%) ── ion │ │ │ │ └────────0 B (00.00%) ── regexp │ │ │ ├────142,560 B (00.01%) ── script-data │ │ │ ├─────65,536 B (00.00%) ── atoms-table │ │ │ ├─────65,536 B (00.00%) ── runtime-object │ │ │ ├──────4,096 B (00.00%) ── dtoa │ │ │ ├──────4,096 B (00.00%) ── interpreter-stack │ │ │ ├──────4,096 B (00.00%) ── temporary │ │ │ ├────────768 B (00.00%) ── contexts │ │ │ ├──────────0 B (00.00%) ── math-cache │ │ │ └──────────0 B (00.00%) ── regexp-data │ │ ├─────281,648 B (00.02%) -- zone(0x7f7db80ee800) │ │ │ ├──266,240 B (00.02%) -- gc-heap │ │ │ │ ├──242,560 B (00.01%) -- strings │ │ │ │ │ ├──181,696 B (00.01%) ── normal │ │ │ │ │ └───60,864 B (00.00%) ── short │ │ │ │ ├───12,640 B (00.00%) ── unused-gc-things │ │ │ │ ├────8,352 B (00.00%) ── ion-codes │ │ │ │ └────2,688 B (00.00%) ── sundries │ │ │ ├───13,968 B (00.00%) ── string-chars/non-huge │ │ │ └────1,440 B (00.00%) ── compartment(web-worker-atoms)/other-sundries │ │ └─────238,224 B (00.01%) -- zone(0x7f7db80f0800) │ │ ├──195,328 B (00.01%) -- compartment(web-worker) │ │ │ ├──149,616 B (00.01%) -- gc-heap │ │ │ │ ├───61,648 B (00.00%) -- shapes │ │ │ │ │ ├──38,960 B (00.00%) ── tree/global-parented │ │ │ │ │ ├──11,808 B (00.00%) ── base │ │ │ │ │ └──10,880 B (00.00%) ── dict │ │ │ │ ├───59,088 B (00.00%) -- objects │ │ │ │ │ ├──42,208 B (00.00%) ── function │ │ │ │ │ └──16,880 B (00.00%) ── ordinary │ │ │ │ ├───25,728 B (00.00%) ── scripts │ │ │ │ └────3,152 B (00.00%) ── sundries │ │ │ ├───13,824 B (00.00%) ── objects-extra/slots │ │ │ ├───13,312 B (00.00%) ── shapes-extra/compartment-tables │ │ │ ├────9,360 B (00.00%) ── other-sundries │ │ │ └────9,216 B (00.00%) ── script-data │ │ └───42,896 B (00.00%) -- gc-heap │ │ ├──37,472 B (00.00%) ── unused-gc-things │ │ └───5,424 B (00.00%) ── sundries
Out of these, 84Mb are unused memory, which looks a bit weird. Might be related to bug 894993? Ben, does behavior this look familiar to you?
Flags: needinfo?(bent.mozilla)
Johnny, is this nightly? And does a manual 'Minimize Memory' bring the number back down?
Flags: needinfo?(bent.mozilla)
Yes, this is nightly from probably a couple of weeks back, and yes, minimize memory usage does get rid of ~89 of the 90 megs used.
Hm, a couple weeks back... Before bug 894993 landed?
Hmm, likely... I'll update my build and keep an eye on this.
Let's be optimistic and assume this is fixed... jst, please reopen if you see it again.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WORKSFORME
Will do, thanks!
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.