0

I have an Athlon 8 core CPU (4 h/w, 8 logical) and I find that it rarely goes above 12.5% usage. I read this article which explains why, and that there are two solutions:

  1. Set processor affinity for processes / applications
  2. Set priority for processes / applications

But doing this manually for 20+ applications and who knows how many processes seems like a strategy belonging to a bygone era. I'm amazed this isn't done dynamically. Is it feasible that a tool could exist which do all that completely automatically?

Also, the two techniques above simply won't work (afaik) for applications like Google Chrome which use a distinct process for each browser tab. Surely these could be distributed some how? (And I haven't tried, but it would be nice if Flash instances could be run in/on separate processes/processors, and likewise for Java applications)

1
  • 2
    Windows does automatically distribute processes across different cores. AFAIK there's no need to play with affinity in normal usage, and playing with priority seems silly if you have plenty of spare cycles.
    – Andy
    May 13, 2014 at 8:34

1 Answer 1

4

Leave it to the operating system. It should be able to find the most efficienct CPU load/assignment on its own.

The big thing here is that you can't really distribute a single thread over multiple cores even if it would be more efficient. If the application isn't built for multithreading, you can't do anything to force it into utilizing more cores.

Overall, the load balancing works. What you can do is to run something in parallel on your own. For example, use two instances of ffmpeg to convert two different files at the same time. Assuming your other hardware is fast enough, you should see both processes each taking about 12.5% CPU for a total of 25%.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .