Windows7/8 with multi-core CPUs


P

Paul

Ed said:
There's a column heading in Task Manager Processes for "Threads". You
get to it from Processes, View, Select Columns.
Well, every single process (maybe I should have written "every
individual process") has several threads; not a one below 2.


At present the highest is NT Kernel & System, with 137; ...... Firefox
with 45,................ Tbird with 29, ............ lastly Windows
Session Manager with 3.
I just opened another tab in Firefox, went to a big site, and the Thread
count went up before my eyes to 48; opened two more tabs plus data, ...
up to 49. Then I cut the tabs down to just the original one, and lo! it
stayed with 49.

Does this mean that every individual program there is hard-coded to
handle multi-threading? Or is Win7 itself handling it, in the same way
it handles paging to swapfiles? Firefox isn't releasing memory too well.
Who should I blame, MS or the FF people?

Ed
I would think the application developer has control over this.
They should be able to terminate a thread, and clean up the
resources. If the OS didn't support resource cleanup, then
the OS would not be "scalable".

It's possible Firefox has some arbitrary criteria, as to when it
cleans up after itself. With 64000 source files, good luck finding
the source code that does it. (Source code is available on the
Mozilla site, if you want it. It takes two solid days of work, to
compile your own copy.)

It's possible an integrated development environment, can accept
relatively simple source code (no threads evident), and still
produce a program that uses threads. Things like perhaps a
GUI, might have its own thread of execution. So some of the
threads you're seeing, may not have been hand-crafted. But
something like Firefox, with 45, is likely to be doing
its own threads for stuff. And Firefox would be running
instances of SQLite, and those would need to run independently
for the database functions Firefox uses. Modern browsers also
use process isolation, and that means more independence at
runtime (each window is its own instance, and can die without
killing the whole thing). At least, that's the theory.

Mozilla used to have a web page, dedicated to complaints about
their memory usage. So they know about it :)

http://support.mozilla.org/en-US/kb/firefox-uses-too-much-memory-ram?redirectlocale=en-US&redirectslug=High+memory+usage

Now, an interesting feature there, is type this into the address bar.

about:memory

That should be good for a laugh.

And this page, is their own page for the developers to find problems.

https://wiki.mozilla.org/Performance:Leak_Tools

Paul
 
Ad

Advertisements

E

Ed Cryer

Paul said:
I would think the application developer has control over this.
They should be able to terminate a thread, and clean up the
resources. If the OS didn't support resource cleanup, then
the OS would not be "scalable".

It's possible Firefox has some arbitrary criteria, as to when it
cleans up after itself. With 64000 source files, good luck finding
the source code that does it. (Source code is available on the
Mozilla site, if you want it. It takes two solid days of work, to
compile your own copy.)

It's possible an integrated development environment, can accept
relatively simple source code (no threads evident), and still
produce a program that uses threads. Things like perhaps a
GUI, might have its own thread of execution. So some of the
threads you're seeing, may not have been hand-crafted. But
something like Firefox, with 45, is likely to be doing
its own threads for stuff. And Firefox would be running
instances of SQLite, and those would need to run independently
for the database functions Firefox uses. Modern browsers also
use process isolation, and that means more independence at
runtime (each window is its own instance, and can die without
killing the whole thing). At least, that's the theory.

Mozilla used to have a web page, dedicated to complaints about
their memory usage. So they know about it :)

http://support.mozilla.org/en-US/kb/firefox-uses-too-much-memory-ram?redirectlocale=en-US&redirectslug=High+memory+usage


Now, an interesting feature there, is type this into the address bar.

about:memory

That should be good for a laugh.

And this page, is their own page for the developers to find problems.

https://wiki.mozilla.org/Performance:Leak_Tools

Paul
Ah, ah. Are you seriously suggesting that I do debugging on FF, and
produce my own version?
Sheesh!!
Now that Bill Gates is in retirement, and Steve Jobs is with his maker,
I reckon you have the presentation and selling skills to fill that gap.
I have a personal dream of doing the Steve Jobs thing; turning up on
stage with some spanking-new gadget (an iSomething), and revealing the
miracle to a stunned audience.
:)

I'm thinking of using Safari. I've been using it periodically lately and
it looks good to me; very clean and clear appearance, fast enough, nice
options format. Yes, I might well migrate to that.

Ed
 
P

Paul

Ed said:
I'm thinking of using Safari. I've been using it periodically lately and
it looks good to me; very clean and clear appearance, fast enough, nice
options format. Yes, I might well migrate to that.

Ed
The copy of Safari I used to use, couldn't render all web pages.
At that point in time, it might have been about as good as Opera.
I don't test all these things on a regular basis, so anything
is possible now.

Paul
 
D

Darklight

That's a pretty nice package of system-monitoring tools.
It shows all cores in use most of the time. And the graph display helps,
but I can't find anything in it to do these;
1. Show which progs are using which cores.
2. Save a log of usage statistics.

It's a bit better in display than both the All CPU Monitor gadget, and
the Task Manager.

I started it, ran a chkdsk on C, and CPU 0 got very active while the
others were jumping around a bit. But it's guesswork as to whether
chkdsk was using more than one.

Ed
With multi-core CPU's I find that the work is distributed over the cores.
I think that if you installed virtualbox and installed another os inside
of that and run you might find what your looking for. For in virtualbox
you can assign how many CPU cores it uses. Just for a comparison.
 
Ad

Advertisements


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top