-
-
Notifications
You must be signed in to change notification settings - Fork 347
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Waterfox 56.x performance sometimes suffers when a memory-hungry tab is unloaded or closed #424
Comments
Screen recording: https://photos.app.goo.gl/p0TZJXsN8PE7UZop1 Viewing time: twenty-six minutes (with some acceleration; the recording period was longer). Hint: don't watch the whole thing for fun! It covers a variety of issues. The last four minutes are probably enough to get an idea of the performance issue. Maybe watch from 08:38:36 on the clock (23:00 on the timeline). Generally – throughout the recording: wherever you see me moving the mouse/pointer around in circles, aimlessly, that's usually to indicate that I'm waiting for the browser to respond. On-screen notes that I took during the recording:
|
Probably this. When you unload a tab its memory is garbage collected. Not sure which Firefox version fixed Stylo to not lock up a tab on GC. |
Thanks! I probably began the recorded session with Now Note to self: on a handful of occasions in the past, I noticed a sudden leap in VM usage, and the size of the leap was as if I had opened a second or third instance of Riot. |
Another screen recording: https://photos.app.goo.gl/zGT2CrQetErjFhUT2 Viewing time: fourteen minutes. Stylo was disabled throughout the session. No noticeable difference – as before, periods of Waterfox not responding after unloading the Riot tab. I also experimented with
I reproduced that behaviour. The Riot tab:
On-screen notes that I took during the recording:
|
A quick comparison with Firefox QuantumWith Firefox 58.0 I visited a https://riot.im/app/ room, plus other pages in a few other tabs, then tried to:
As far as I could tell, neither extension succeeded. |
Maybe related: – with the 'hungry' content that's at step (6), I see behaviour that's comparable to the Riot app in this issue. |
Meta, tracking: #538 Recent dd92030 (2018-05-15) fixed memory.free_dirty_pages in Waterfox 56.x · Issue #423 … and re: #423 (comment), I gained an early impression that the commit might have reduced the frequency of this issue 424. In particular:
However, after testing for a few days:
This morning after an extended period of poor responsiveness, it was necessary to use about:memory to manually minimise use of memory with, as usual, the consequent improvement in performance. This incident is significant because:
|
Touch wood, no longer reproducible with Waterfox 56.2.1 on FreeBSD-CURRENT 👍 This screen recording began after closing a tab to Riot: (Side note: the apparent split-second completions of about:memory minimisation of memory are almost suspiciously fast, compared to the waiting periods that I found in the past.) One more screen recording to follow.
2018-06-19 07:45 about:support.txt I'll check for symptoms on a different machine, one that's suitably powerful. Today, if I can … hopefully close this issue … |
Briefly:
|
I haven't found this type of performance problem in a long while. Today I pushed things quite hard, a busy Waterfox session restored after opening two virtual machines and a variety of other applications: – Waterfox using 11.6G virtual memory (no reduction) after closing a window to Riot. 1.81/16.0G swap used. Moments after the first screenshot, there was a significant reduction. Around the amount that I associate with Riot. Garbage collection in response to memory pressure, I guess. Later, Waterfox using 5,748M virtual memory: Throughout this period, performance of single-process Waterfox 56.2.10 was OK. I rarely use multi-process Waterfox Classic, when I last did so I sensed that it was less smooth that single-process – in an environment that was free from memory pressure. I imagined that it would become quite jerky under pressure. |
Environment
Waterfox 56.0.3.5 a.k.a. 56.0.4 on FreeBSD-CURRENT.
Multi-process disabled.
Around 1,500 tabs (1,474 at the time of writing).
ZFS,
KDE Plasma 5, XRender, compositor disabled or enabled (scale method: crisp).
c.2012 HP EliteBook 8570p with 16 GB memory.
Examples of memory-hungry might include:
In brief
Sometimes, after an unusually 'hungry' tab is unloaded or closed, Waterfox will:
… and so on.
Re: #423 I find no benefit from
memory.free_dirty_pages
in these situations.The pattern of (mis)behaviour might be more likely to occur if there's some use of the swap device before unload/closure.
During these periods it 'feels' slightly as if there's thrashing of the hard disk drive e.g. swap. However that sense of things is limited to the browser (generally, Plasma feels OK) and from experience with other systems, I doubt that thrashing is a significant factor.
I've been paying more attention to this type of behaviour in recent weeks … gut tells me that it's not new behaviour (e.g. no difference between 56.0 and 56.0.4).
Workaround
As far as I can tell:
– simple enough, but the minimisation takes some time.
Related
Memory usage of Riot has increased quite a lot · Issue #5660 · vector-im/riot-web
Riot app unusably slow with Firefox (or Waterfox) in safe mode · Issue #5894 · vector-im/riot-web
Notes
@MrAlex94 given those two vector-im/riot-web issues, and this long list of enabled extensions:
– you'll probably want me to attempt reproduction of the issue with far fewer extensions. Or just close this issue :-) I'll not be offended.
@jbeich if you have any insight I'll be grateful. I'm painfully aware that:
– so yep, folks are likely to treat those two things (plus my mix of extensions) as laughable/risky but FWIW the whole caboodle works amazingly well for me (with one notable exception, which is off-topic from Waterfox).
Last but not least, I have a long screen recording. Link to follow.
The text was updated successfully, but these errors were encountered: