Chrome-style Task Manager

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
Agent Orange

Chrome-style Task Manager

Unread post by Agent Orange » 2017-05-23, 16:22

Sometimes, I'll notice (usually when I have a lot of tabs open) that the browser and/or my computer seems to be a little slow.

Opening the task manager will show Pale Moon using CPU at 100% (in this case, just now, the “Timer” and “BgHangManager” threads are continually using about 30% and 10% CPU, respectively, with the parent “palemoon” process using up a lot extra, around 60~100%)

Sometimes, I can intuit which tab is causing this excess CPU usage, however, most of the time, I have to restart the browser and then browse with the task manager open on another monitor as I load each of the tabs to see which one is to blame.

Would it be possible for Pale Moon to implement something like this? The ability to see not only which internal components and add-ons are using RAM/CPU, but which tabs are consuming resources as well, would be an extremely useful feature.

(I was honestly kind of surprised not to find a thread about this already.)

New Tobin Paradigm

Re: Chrome-style Task Manager

Unread post by New Tobin Paradigm » 2017-05-23, 17:08

I would say no.. Also, memory management doesn't work that way in Pale Moon nor will it ever.

Walter Dnes
Astronaut
Astronaut
Posts: 652
Joined: 2015-07-30, 20:29
Location: Vaughan, ON, Canada

Re: Chrome-style Task Manager

Unread post by Walter Dnes » 2017-05-23, 19:41

Agent Orange wrote:Would it be possible for Pale Moon to implement something like this? The ability to see not only which internal components and add-ons are using RAM/CPU, but which tabs are consuming resources as well, would be an extremely useful feature.
I work around that issue by having over 20 seprate profiles. ICEWM menu has a bunch of stuff like...

Code: Select all

palemoon -new-instance -p dslr
palemoon -new-instance -p google
palemoon -new-instance -p palemoon
palemoon -new-instance -p slashdot
palemoon -new-instance -p youtube
I can find out which one is eating memory/cpu by running
top c
from an xterm.
There's a right way
There's a wrong way
And then there's my way

New Tobin Paradigm

Re: Chrome-style Task Manager

Unread post by New Tobin Paradigm » 2017-05-23, 19:55

That seems... frankly really stupid. Why would you do that? WHY?!

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35600
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Chrome-style Task Manager

Unread post by Moonchild » 2017-05-23, 20:07

One of the powers of our platform is that it efficiently shares memory, caching, cached pages and even networking connections between different tabs (using semi-autonomous connection pools), while keeping the actual pages separated in containers. This means that:
  • Measuring individual tabs' processor usage is difficult, since the processor usage is manifested in the underlying platform which doesn't directly translate to any individual page/tab. As such, a "task manager" can't be created with any certainty of its data, since the "tasks" are not separated like in Chrome.
  • Launching individual instances for different websites is being extremely wasteful and completely negating the efficiency of the platform. I strongly advise against it.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Walter Dnes
Astronaut
Astronaut
Posts: 652
Joined: 2015-07-30, 20:29
Location: Vaughan, ON, Canada

Re: Chrome-style Task Manager

Unread post by Walter Dnes » 2017-05-24, 06:45

New Tobin Paradigm wrote:That seems... frankly really stupid. Why would you do that? WHY?!
As I mentioned, if *ONE* profile is pegging 100% of a core, and hogging memory, "top c" will show me the culprit, and I can kill it, without the collateral damage of closing every last single open tab on my machine.

Another use-case is killing profiles when some sociopathic scammer grabs ahold of your browser and absolutely refuses to let go, claiming you've been infected, and please call this phone number. Warning... do NOT click on "5 Top Travel Photography Mistakes Top Avoid". I eventually figured out that {CTRL}W usually kills it. But it's nice to have the option to "nuke it from orbit" without shutting down every last open tab. Not every forum is like this one which flags threads with unread messages. It can be a pain to restart some forums.

Different forums require different settings, e.g. which domains cookies should be allowed from. Separate profiles handle that easily, without basically throwing the machine wide open to cookies from anywhere.

Privacy! A side effect of multiple profiles is that 3rd-party cookies can be allowed, and not have to worry about cross-profile tracking. E.g.
  • If I visit web-forum A and web-forum B IN THE SAME PROFILE, and both forums use "doubleclick.net" 3rd-party cookies, then doubleckick can link my UserID on forum A to my UserID on forum B, but...
  • If I visit web-forum A and web-forum B IN DIFFERENT PROFILES, and both forums use "doubleclick.net" 3rd-party cookies, then doubleckick sees two different users, and profile A does not talk to, or exchange cookies with, profile B.
There's a right way
There's a wrong way
And then there's my way

Walter Dnes
Astronaut
Astronaut
Posts: 652
Joined: 2015-07-30, 20:29
Location: Vaughan, ON, Canada

Re: Chrome-style Task Manager

Unread post by Walter Dnes » 2017-05-24, 07:24

Moonchild wrote:One of the powers of our platform is that it efficiently shares memory, caching, cached pages and even networking connections between different tabs...
...and also share 3rd-party cookies, which allow people to be tracked across the web.
Moonchild wrote:Launching individual instances for different websites is being extremely wasteful and completely negating the efficiency of the platform. I strongly advise against it.
In my case, it's worth the tradeoff; see my reply to Matt Tobin. I've recently revived a 2008 Core2 Duo with 3 gigs of ram for some "bleeding edge" testing. I'm running it as my "regular" Gentoo linux machine, with almost everything built with GCC 6.3.0. If a webpage isn't constantly refreshing, it (and the process running it) gets swapped out. The machine is quite responsive. The fact that I use ICEWM, rather than GNOME, helps. Here's output from "top c". The cpu and memory usage on the palemoon.org process will drop once I hit "Submit". The animated smiles on the side of the compose screen account don't help.

Code: Select all

top - 03:06:20 up 11 days, 14:10, 17 users,  load average: 0.11, 0.22, 0.15
Tasks: 160 total,   1 running, 159 sleeping,   0 stopped,   0 zombie
%Cpu(s):  7.5 us,  1.2 sy,  0.2 ni, 90.2 id,  1.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3100276 total,   574828 free,  2104436 used,   421012 buff/cache
KiB Swap:  9186324 total,  7294964 free,  1891360 used.   683236 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                          
15876 waltdnes  20   0  928896 158600  40204 S  13.6  5.1 294:41.67 /home/waltdnes/pm/palemoon/palemoon -new-instance -p palemoon                    
10036 root      20   0  540276  71672  48164 S   2.0  2.3 273:33.31 /usr/bin/X :0 -nosilk -config xorg.conf -auth /home/waltdnes/.serverauth.10015   
 2598 waltdnes  20   0  902240 158772  29324 S   0.7  5.1 262:32.84 /home/waltdnes/pm/palemoon/palemoon -new-instance -p dslr                        
 1197 waltdnes  20   0  934940 147804  33860 S   0.3  4.8  61:08.19 /home/waltdnes/pm/palemoon/palemoon -new-instance -p puppy                       
10042 waltdnes  20   0   17052   4016   2152 S   0.3  0.1  11:01.96 /usr/bin/icewm                                                                   
13521 waltdnes  20   0  930396 196380  33412 S   0.3  6.3  96:27.73 /home/waltdnes/pm/palemoon/palemoon -new-instance -p wuwt                        
15297 waltdnes  20   0  994548 145472  29012 S   0.3  4.7 261:57.29 /home/waltdnes/pm/palemoon/palemoon -new-instance -p graphs                      
17638 waltdnes  20   0    5540   2756   2280 R   0.3  0.1   0:00.02 top c                                                                            
    1 root      20   0    2168    144    116 S   0.0  0.0   0:06.20 init [3]                                                                         
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.08 [kthreadd]                                                                       
    3 root      20   0       0      0      0 S   0.0  0.0   1:18.75 [ksoftirqd/0]                                                                    
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [kworker/0:0H]                                                                   
    7 root      20   0       0      0      0 S   0.0  0.0   2:29.23 [rcu_sched]                                                                      
    8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 [rcu_bh]                                                                         
    9 root      rt   0       0      0      0 S   0.0  0.0   0:00.76 [migration/0]                                                                    
   10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 [lru-add-drain]                                                                  
   11 root      20   0       0      0      0 S   0.0  0.0   0:00.00 [cpuhp/0]                                                                        
   12 root      20   0       0      0      0 S   0.0  0.0   0:00.00 [cpuhp/1]
There's a right way
There's a wrong way
And then there's my way

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35600
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Chrome-style Task Manager

Unread post by Moonchild » 2017-05-24, 13:41

Walter Dnes wrote:...and also share 3rd-party cookies, which allow people to be tracked across the web.
Thank you for trying to derail this thread with nonsense.Really, that has absolutely ZERO to do with how the platform handles page and connection caching.
If you don't want 3rd party cookies, you can disable them. And yes, of course cookies are separated if you use different profiles. d'uh!
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

PCMasterRace

Re: Chrome-style Task Manager

Unread post by PCMasterRace » 2017-06-16, 23:38

"having over 20 seprate profiles."
Oh my god, WHY???

PCMasterRace

Re: Chrome-style Task Manager

Unread post by PCMasterRace » 2017-06-16, 23:45

I too would like a task manager. It is one of the few useful things remaining in Chrome. I however would not use it to see which tabs are using a lot of CPU/RAM, but which EXTENSIONS are using a lot of resources. In Chrome, it has been invaluable to me for diagnosing extension issues. I do get massive spikes in CPU with 50+ tabs open, smaller spikes withe smaller amounts of tabs, seemingly for no reason, and I need a way to isolate this. The method of turning off extensions one by one is effective but time consuming, especially when many of the extensions need a full browser restart.
EDIT: OK, one other thing I like about Chrome...you never have to restart just to install an extension. Also one of the reasons I prefer Linux over Windows, you never have to restart just to install an update. Although I have read that Microsoft is planning to roll out a new update method that works on the fly soon.

PCMasterRace

Re: Chrome-style Task Manager

Unread post by PCMasterRace » 2017-06-16, 23:48

"As I mentioned, if *ONE* profile is pegging 100% of a core, and hogging memory, "top c" will show me the culprit, and I can kill it, without the collateral damage of closing every last single open tab on my machine.'
This seems interesting.....but I don't quite understand how this would help with multiple tabs/extensions. Could you elaborate?

PCMasterRace

Re: Chrome-style Task Manager

Unread post by PCMasterRace » 2017-06-16, 23:53

"Launching individual instances for different websites is being extremely wasteful and completely negating the efficiency of the platform. I strongly advise against it."
I must say, even though I am also in agreeance (is that a word?) that using multiple processes is one of Chrome's downfalls, Windows uses a similar approach to memory management with the File Explorer and it actually works quite well. I think Google just has some serious problems with how they implement it and just don't give a shit enough to fix it. Not giving a shit has become their MO these days. There was a time that Google rocked and Chrome was fairly decent. That time has long passed.

PCMasterRace

Re: Chrome-style Task Manager

Unread post by PCMasterRace » 2017-06-16, 23:56

Yeah, like now for instance. I have quite a few tabs open, but none are loading, and nothing is happening, no Flash, no videos, nothing. But it's been 20 minutes of nothing and PM is still eating up to 10-20% of the CPU.

petrus

Re: Chrome-style Task Manager

Unread post by petrus » 2017-06-17, 05:39

Does any extensions have "Enable Javascript in active tab only"? That would speed things up slightly!

Just as disabling Javascript for only a brief moment usually drops 100% CPU load back to normal levels.

sruli

Re: Chrome-style Task Manager

Unread post by sruli » 2017-08-10, 22:40

All right.

How can I identify which of my tabs is causing my CPU usage to max?

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35600
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Chrome-style Task Manager

Unread post by Moonchild » 2017-08-10, 23:34

There is no way to natively do this at this time.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
Moonraker
Board Warrior
Board Warrior
Posts: 1878
Joined: 2015-09-30, 23:02
Location: uk.

Re: Chrome-style Task Manager

Unread post by Moonraker » 2017-08-11, 20:44

sruli wrote:All right.

How can I identify which of my tabs is causing my CPU usage to max?
Opening each tab one at a time might provide a solution.But i cannot for the life of me understand why/how users can have dozens of tabs open at the same time..i see no reason for it.. :)
user of multiple puppy linuxes..upup,fossapup.scpup,xenialpup..... :thumbup:

Pale moon 29.4.1

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35600
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Chrome-style Task Manager

Unread post by Moonchild » 2017-08-11, 21:12

Moonraker wrote:But i cannot for the life of me understand why/how users can have dozens of tabs open at the same time..i see no reason for it..
Everyone's use of the 'net is different :)
I normally have 10-20 tabs open, triple that when actively doing research.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Locked