topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Saturday December 14, 2024, 11:00 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: Tame applications based on CPU  (Read 8270 times)

leaskn

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 3
    • View Profile
    • Donate to Member
Tame applications based on CPU
« on: April 28, 2006, 06:02 PM »
I notice that the new config GUI has a checkbox titled: "tame applications based on CPU usage". There is no mention of it in the help (or in this forum that I can tell).

If you de-check this option what does it do? Does it tame based on some other parameters other than CPU? Or does it effectively turn PT off?

In terms of feature requests, it would be nice to be able to tame a process if it's disk usage goes over certain thresholds, similar to current CPU parameters. For laptop users, no matter how high spec your laptop is, disk throughput is the key bottleneck. A process can be using relatively little CPU, but is generating a large number of page faults (retreiving/writing data to/from disk), it can effect useability as much as a process that has run away with the CPU...

Any thoughts?

Cheers


Nick

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: Tame applications based on CPU
« Reply #1 on: April 28, 2006, 06:09 PM »
Hi nick,

if you de-check the option, then it will only tame apps based on any explicit rules you set that say which apps should be forced to which priorities.

your disk usage idea is a good one, the problem is that while you could detect this scenario, lowering the apps priority wouldn't help you much :(

leaskn

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 3
    • View Profile
    • Donate to Member
Re: Tame applications based on CPU
« Reply #2 on: April 28, 2006, 06:18 PM »
I would think that this would help. An applicationcan only retrieve/write data to disk when it is executing on the CPU. If an application has less priority (gets less CPU slices) then the number of page fault deltas that are being serviced would be reduced, right?

More than happy to be corrected if this is incorrect :)

Cheers


Nick

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: Tame applications based on CPU
« Reply #3 on: April 28, 2006, 06:33 PM »
well you might be right IFF there are other applications also competing for the cpu, then perhaps a side effect might be a slight reduction in disk usage, but i have my doubts that you'd notice it in most cases.

after all we are assuming here that the app itself isn't using enough cpu to trigger a normal taming, so reducing it's priority is not likely to reduce its actual cpu usage significantly, which means it's disk access is not likely to be affected much.

now you could implement other things to proactively SLOW DOWN the app, which would have an effect.

leaskn

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 3
    • View Profile
    • Donate to Member
Re: Tame applications based on CPU
« Reply #4 on: April 28, 2006, 07:41 PM »
OK, this will be my last comment, as I do not know this stuff for a fact, I am summising based on my general system knowledge :)

Firstly, CPU is not necessarily linked to disk/IO usage. That is, an application that accesses the disk a lot does not necessarily generate a high CPU load. A program doing a virus scan, uses lots of disk because it is reading all files on a file system, it then uses lots of CPU because it is processing the data and applying CPU intensive data matching and heuristic routines to the data. An application that is copying large amounts of data from one place to another (eg: Windows Explorer) generates less CPU for the same amount of data as say the virus scanning app.

So in this instance you are right, the copy process would not generate enough CPU to get tamed using the current version of PT, but the IO still can make the PC unresponsive to other applications you are running. Hence my suggestion that you could monitor storage IO and have a similar set of storage IO parameters which if exceeded then triggers PT to lower the applications PRIORITY (exactly as now).

Provided you are running more than one application at a time, reducing an applications priority, and hence the amont of CPU it is allowed (or "offered" by the OS), you are doing the same as you suggest - you are "proactively SLOW(ing) DOWN" the application and therefore the amount of IO it can generate, which should/could/may make the system become more responsive to other applications again.

I hope this makes sense :)

Cheers


Nick

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: Tame applications based on CPU
« Reply #5 on: April 28, 2006, 09:27 PM »
well, it's an interesting issue and i can't really say for sure -
only way to find out for real would be to do a test.. maybe worth a try just for fun.

wouldn't be too hard to test:
set up a program that basically just reads from the hard disk constantly, and monitor disck i/o with some process explorer, and see if changing priority of the app from normal to low has any affect on disk i/o and responsiveness.