Closed Bug 1081098 Opened 10 years ago Closed 2 years ago

[e10s] Uses a lot of cpu with dom.ipc.processCount > 100

Categories

(Firefox :: General, defect)

35 Branch
x86_64
Windows 8.1
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE
Tracking Status
e10s later ---

People

(Reporter: gu83, Unassigned)

References

Details

It's not really a bug, but a "chromium" way of how it works.
With a lot of tabs on a computer with a quad core cpu, each background process use 0.01% - 0.05% of cpu , plus main process around 6% or more . On a laptop with a dual core cpu 0.02% - 0.1% respectively. With a hundred of tabs, laptop is unusable... Quad core computer can handle firefox somewhat, nonetheless firefox should not be so resource hungry. Until now firefox was in one thread and it would tap only one core, but with more processes it can make computer unusable with a lot of script heavy tabs.

Solution would be to suspend background processes and leave last x (around 10-20 or so) active.
Blocks: e10s
Any CPU would shock on that! the only solution to this would be that firefox manages how many containers should be allocated automatically
I thought that setting to something like dom.ipc.processCount = "cpu cores-1" would solve it, but actually it will not, because any sub plugin-container.exe (like flash) can be launched from any tab... So yeah only suspend might be a solution, this way you can go full retarded with billions of processes, that would go to sleep. I've seen that in Opera, they launch subprocesses for each tab and suspend them if not activated for more than 40 seconds. Pretty comfy if you ask me. Something like that would be awesome in firefox. Only problem would be checking if there is some video/audio streaming, to not interrupt downloading, but for that you can check if sub plugin-container.exe was launched (just an idea).
Status: UNCONFIRMED → NEW
Ever confirmed: true
> ut actually it will not, because any sub plugin-container.exe (like flash) can be launched from any tab... 

that would still only result in {N*2 ; N=cores} processes. Considering that flash&co *should* be idle most of the time that should be manageable for the CPU.

I'm sure there's still further work we could do to improve CPU usage in idle processes, but that should be driven by new profiling.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.