Windows 7 Forums
Welcome to Windows 7 Forums. Our forum is dedicated to helping you find support and solutions for any problems regarding your Windows 7 PC be it Dell, HP, Acer, Asus or a custom build. We also provide an extensive Windows 7 tutorial section that covers a wide range of tips and tricks.


Windows 7: How do I raise the multi-core CPU limit?


30 Mar 2013   #1

Windows 7 Home Premium x64
 
 
How do I raise the multi-core CPU limit?

Hello, I was just playing an extremely high-def video (1440p) using 64-bit VLC on my Windows 7 x64 ultrabook and it is stuttering. I checked Resource Monitor and it shows total CPU maxing out at between 25 and 30%. That raises the question: if Windows 7 thinks you have 4 cores, does it cap any particular process at 25% CPU? I'm using a dual-core Core i5 3317U, the most popular CPU in ultrabooks these days, which shows up as four cores in Resource Monitor because of hyper-threading. I can't seem to turn off hyper-threading in the aptio BIOS that comes with this ultrabook.

I have previously noticed that other processes that go out of control occasionally, like the Bluetooth monitor, will cap out at 25% CPU usage, but never figured out why till now. I thought that maybe it's a limit of each process only being able to max out a virtual core, but then I noticed that Resource Monitor shows all four virtual cores maxing out at 25% when running VLC with the 1440p video, as opposed to a single core maxing out at 100%. Does that mean that Windows 7 is emulating a single core limit by spreading the workload across each virtual core and capping each at 25% or is Resource Monitor lying to me and only one is maxed out?

I notice that if I open more VLC instances that play videos simultaneous to the 1440p video, the other 1080p videos play just fine, even though the 1440p video is still stuttering. Total CPU usage rises up to 50+% and all the cores show as sharing the workload relatively equally in Resource Monitor. I can see why this limit would be beneficial: the 1440p video is capped at 25% usage and doesn't affect the performance of the other videos, but I'd rather that the limit were higher.

Is there some way to raise this cap to 50% or more, so that a single process can use up to 50% of all four virtual cores? I checked my power settings and the processor maximum is set to 100%, so I don't think anything can be done there. If Windows 7 is really spreading the workload across all four virtual cores and setting an artificial cap of 25%, there should be a software setting where I can set the cap to be higher than 25% for a single process.


My System SpecsSystem Spec
.

30 Mar 2013   #2

Windows 7 Professional x64 Service Pack 1
 
 

Quote   Quote: Originally Posted by sprewell View Post
Hello, I was just playing an extremely high-def video (1440p) using 64-bit VLC on my Windows 7 x64 ultrabook and it is stuttering. I checked Resource Monitor and it shows total CPU maxing out at between 25 and 30%. That raises the question: if Windows 7 thinks you have 4 cores, does it cap any particular process at 25% CPU? I'm using a dual-core Core i5 3317U, the most popular CPU in ultrabooks these days, which shows up as four cores in Resource Monitor because of hyper-threading. I can't seem to turn off hyper-threading in the aptio BIOS that comes with this ultrabook.

I have previously noticed that other processes that go out of control occasionally, like the Bluetooth monitor, will cap out at 25% CPU usage, but never figured out why till now. I thought that maybe it's a limit of each process only being able to max out a virtual core, but then I noticed that Resource Monitor shows all four virtual cores maxing out at 25% when running VLC with the 1440p video, as opposed to a single core maxing out at 100%. Does that mean that Windows 7 is emulating a single core limit by spreading the workload across each virtual core and capping each at 25% or is Resource Monitor lying to me and only one is maxed out?

I notice that if I open more VLC instances that play videos simultaneous to the 1440p video, the other 1080p videos play just fine, even though the 1440p video is still stuttering. Total CPU usage rises up to 50+% and all the cores show as sharing the workload relatively equally in Resource Monitor. I can see why this limit would be beneficial: the 1440p video is capped at 25% usage and doesn't affect the performance of the other videos, but I'd rather that the limit were higher.

Is there some way to raise this cap to 50% or more, so that a single process can use up to 50% of all four virtual cores? I checked my power settings and the processor maximum is set to 100%, so I don't think anything can be done there. If Windows 7 is really spreading the workload across all four virtual cores and setting an artificial cap of 25%, there should be a software setting where I can set the cap to be higher than 25% for a single process.
Have you tried playing the video in another video player? Also, have you tried updating your graphics card drivers?
My System SpecsSystem Spec
30 Mar 2013   #3

Windows 8.1 Pro (x64)
 
 

Just to clarify, there is no CPU limit, no cap. If the application is multi-core aware and multi-threaded it will use more then 25% (25% is 100% on a single core, btw. 50% is two cores at 100%, 75% is three, etc.) If an application only uses one CPU core there is no way to force it to use more. The application developer must design their application to take advantage of it, it will never be a flick of a switch to enable it.

But again, there is no CPU cap. Windows is not going to stop an application from using 100% of a single core or all the cores. It comes down to the application itself.
My System SpecsSystem Spec
.


30 Mar 2013   #4

Windows 7 Home Premium x64
 
 

windude99, no, I haven't tried any other video player, VLC is the only one that worked well and handled everything I threw at it in the past. I have the built-in Intel HD 4000 GPU, I haven't updated the installed drivers since I bought this ultrabook last summer. In any case, I'm trying to find out more about the broader issue of CPU limits in Windows 7, rather than just offloading the video to some video decoder chip in the GPU.

logicearth, there is clearly a CPU cap. To confirm it, I just ran a CPU benchmark, a small program that will calculate as many digits of pi as you ask it to. If I ask it to calculate a lot of digits, it keeps running for a while and again the total CPU usage is capped at 25%, according to Resource Monitor. This time, it shows 3 virtual cores being employed, one at at about 50%, another two at 10-20%, and a fourth barely being used. Is Resource Monitor lying to me when it shows 3 cores being used? This is a single-process app, with the one default thread. By comparison, VLC is multi-threaded, with only a single process.

If Windows 7 is smart enough to split up the workload like this, I'd like to change the cap to something better. The alternative is that Resource Monitor is lying to me, and the reason the total CPU cap is 25% is because one virtual core out of four is maxed out at 100%.

I guess the point of distinction here is what do you mean by "multi-core aware?" Does Windows 7 run multi-threaded apps on multiple cores or does it need to have multiple processes to do so? For example, Google Chrome is multi-process and can probably use 100% CPU as a result, not that it should ever need to.
My System SpecsSystem Spec
30 Mar 2013   #5

Windows 8.1 Pro (x64)
 
 

Again, there is no CPU cap or limitation. Windows does not limit the CPU usage. If it did my expensive processor would never reach 100% yet it does! As Prime95 showcases.

Download Prime95 and watch it stress your CPU to 100% http://www.mersenne.org/freesoft/
My System SpecsSystem Spec
31 Mar 2013   #6

Windows 7 Home Premium 64bit
 
 

Are you using latest version of VLC? I think previous versions had multi thread issues with some file types?

Where you "checked my power settings and the processor maximum is set to 100%" you could also set the minimum processor state to 100% as well so they will run without any throttle(which I believe is same as 'high performance' power setting default but I'm not sure that has anything to do with forcing multi threading use in a program. Just will get rather warm :-)
My System SpecsSystem Spec
31 Mar 2013   #7

Windows 7 Home Premium x64
 
 

logicearth, you are ignoring the detailed observations I'm making and questions I'm asking, which contradict your assertions, and simply repeating your dogma, that there is no CPU limit, over and over again. I googled some more and found a stackoverflow thread that says you can set the affinity of a program in Task Manager, so it only runs on a single core. I did so and Resource Monitor now shows total CPU capped at 25%, with only one virtual core maxing out at 100%. So it appears that Resource Monitor knows when only a single core is being used, implying it probably wasn't lying before when it showed a single-process, single-thread app spread across 4 cores and capped at 25% of total CPU. That also implies that Microsoft has set a software cap of 25% per process, to mimic the hardware cap of 25% that would normally come with having four cores.

As for Prime95 stressing your CPU to 100%, that's not the question. As I noted in my original post, I can get total CPU usage up to 50+% by simply opening up a bunch of VLC instances. If Prime95 is a multi-process app, it can probably do the same. The question is why Windows 7 caps single-process apps at 1/(number of virtual cores) in software and whether that cap can be raised in a setting somewhere.

barton, yes, I'm using the latest VLC 2.05, the 64-bit version found here. At this point, having confirmed that the same happens with a CPU benchmark, I'm not as concerned with playing that video, but in understanding how Windows 7 caps CPU usage. I haven't found much information about it in my google searches so far, but maybe I'm using the wrong keywords. As I said before, the cap is not all bad, it's nice when you're running multiple programs that one program can't just take over your whole CPU. However, I'd just like to set the cap higher if possible, say 50%, but I don't know if Windows 7 lets you configure that.
My System SpecsSystem Spec
31 Mar 2013   #8

Windows 7 Home Premium 64bit
 
 

What kind of file is causing problems?

Have you looked at this:

Also if you have multicore CPU (or one with Intel Hyper-Threading), you can lower the FFMPEG thread count. To do this go to Tools -> Preferences (Show settings: All), then Input / Codecs -> Video codecs -> FFmpeg, then locate Threads, and set it to 4 (or to 2, or to 1). Remember to press Save to save VLC settings and restart VLC after that to make sure changes are enabled.

WindowsFAQ-2.0.x - VideoLAN Wiki


Also, have you read about 'core parking'?

http://www.techpowerup.com/forums/sh...d.php?t=159864

"But again, there is no CPU cap. Windows is not going to stop an application from using 100% of a single core or all the cores. It comes down to the application itself." << I believe he is correct.
My System SpecsSystem Spec
31 Mar 2013   #9

Windows 7 Home Premium x64
 
 

barton, it is a H.264/AVC file at 1440p, which can be found here. It's the only higher-res-than-1080p file that's easily available online (they incorrectly label it as 2560p), which is why it's widely used to test high-resolution displays. I downloaded it to test out the 4 megapixel display on my Nexus 10, looks great.

I tried out the setting you linked to and VLC now plays the file just fine. It was set to one thread before and after raising it to two, the total CPU goes up to 40% on average and it plays the video smoothly now. I guess while VLC showed up as using 50+ threads in Resource Monitor before, it must have been only using one thread for decoding, but after changing the setting you linked to, it must be using multiple threads for video decoding. That fixes that problem.

But regarding the issue of single-threaded apps like that digits of pi benchmark, is Windows 7 really spreading the work across the four virtual cores and setting a software cap of 25%? Because that behavior still has me confused.
My System SpecsSystem Spec
31 Mar 2013   #10

Windows 7 Home Premium 64bit
 
 

Cool deal. Have a read on the core parking. Maybe that is something you would find interesting.
My System SpecsSystem Spec
Reply

 How do I raise the multi-core CPU limit?




Thread Tools



Similar help and support threads for2: How do I raise the multi-core CPU limit?
Thread Forum
Multi-core Re-enable Hardware & Devices
Solved clear up multi core/cpu on off General Discussion
Windows recognizing multi core processor General Discussion
Multi-Core, GPU -all in one Gadget monitor Gadgets
Multi-core CPU operation Hardware & Devices
applications designed to take advantage of multi-core Software
Windows 7 Takes Advantage on Multi-core Processors General Discussion

Our Sites

Site Links

About Us

Find Us

Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

Designer Media Ltd

All times are GMT -5. The time now is 06:01 PM.
Twitter Facebook Google+



Windows 7 Forums

Seven Forums Android App Seven Forums IOS App
  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33