Open Bug 1725259 Opened 1 year ago Updated 29 days ago

Consider to move back to the polling timer model to detect a low-memory situation

Categories

(Core :: XPCOM, enhancement)

Unspecified
Windows
enhancement

Tracking

()

People

(Reporter: toshi, Unassigned)

References

(Blocks 1 open bug)

Details

Bug 1586236 changed the memory detection model of our memory watcher for Windows from the polling timer to memory resource notification. The current model is excellent from the performance perspective, but we miss more potential OOM cases because OOM crash on Windows is caused by a shortage of commit space, not physical memory.

Depending on the result of the tab unloding experiment we conduct soon, we may move back to the polling timer to reach out to more OOM cases. If we do, we'll implement at least the following optimization techniques to minimize the performance impact:

  • Dynamic polling interval depending on the available commit space
  • Background timer thread
OS: Unspecified → Windows

(In reply to Toshihito Kikuchi [:toshi] from comment #0)

Bug 1586236 changed the memory detection model of our memory watcher for Windows from the polling timer to memory resource notification. The current model is excellent from the performance perspective, but we miss more potential OOM cases because OOM crash on Windows is caused by a shortage of commit space, not physical memory.

Depending on the result of the tab unloding experiment we conduct soon, we may move back to the polling timer to reach out to more OOM cases. If we do, we'll implement at least the following optimization techniques to minimize the performance impact:

  • Dynamic polling interval depending on the available commit space
  • Background timer thread

This sounds great. Pushing these through sooner than later will benefit all. Looking forward to testing new builds with this improved function.

Component: Memory Allocator → XPCOM

Sorry, there was a problem with the detection of inactive users. I'm reverting the change.

Assignee: nobody → tokikuc

The bug assignee is inactive on Bugzilla, so the assignee is being reset.

Assignee: tokikuc → nobody
You need to log in before you can comment on or make changes to this bug.