Tuesday, October 11th 2016
TechPowerUp Releases Throttlestop 8.30
TechPowerUp today published the latest version of Throttlestop by Kevin Glynn, the handy utility that gives you a great deal of control over your processor's power-management features, which among several other things, includes manufacturer-preset CPU throttling. Version 8.30 comes with new "mini-mode" features that let you collapse the main window for clumping together relevant controls; new clock limit reason reporting for Intel Xeon E5/E7-v3 and v4 families; and a new Energy Performance Preference (EPP) adjustment to Speed Shift feature. Grab it from the link below.DOWNLOAD: Throttlestop 8.30
21 Comments on TechPowerUp Releases Throttlestop 8.30
The button beside that will show up if you have a battery installed.
This version lets you turn on Intel Speed Shift if you have a Skylake CPU and are still holding on to Windows 7 or 8/8.1 or an early version of Windows 10 that doesn't have Speed Shift yet.
varies wildly between models and generations, but when you cant do squat in the BIOS its better than nothing.
Specs on my sig...
If this is the problem you have, there is a setting in the ThrottleStop TPL window called Speed Shift - EPP which stands for Energy Performance Preference. This setting is part of the register that controls Speed Shift and can be adjusted from 0 to 255. I think 0 is maximum performance and 255 will leave your CPU mostly stuck at the 8 multiplier for minimum power consumption. Default for this setting is 128. Try playing with this setting if Speed Shift is being enabled by Windows during start up.
If ThrottleStop is the reason why Speed Shift is being enabled then make sure "Enable Speed Shift when ThrottleStop starts" is not checked.
I would like to see where i am really limited in CPU. Is single thread more important to me or is more cores. I would assume single for me but i would love to actually measure this.
I know TS logs but i am not sure if there is a way to easily use excel to graph/chart this.
Like seeing:
X times in a day single thread limited
X times all cores limited
average duration of limits
min max time of limits
and so on.
I think that would be a powerful tool for people to tell if single thread or more cores is more important.
If there is a way to chart this in excel i am all ears and i can help make a guide for people.
My primary interest is seeing how much single thread affects rapid responses but the other stuff interests me too.
ThrottleStop accurately logs the percentage of time the CPU is in the C0 state, which is the state it is in when it is working on a task. When a core has nothing to do, it will fall back into one of the low power C States like C1 or deeper like C7 if that is available. TS measures C0 state activity for each individual thread or core and then averages the data into a number between 0% and 100%.
For an example and to keep things simple, let's say that we have a 4 core CPU without hyper-threading. If you were running an app and the log was showing that your C0% was averaging about 26%, that would mean that 1 of your 4 cores was fully loaded (25%) and the other 1% that your CPU was spending in the C0 state was probably just Windows running its 101 background tasks. This shows the main task is predominately single threaded so adding more cores or stepping up to a hyper-threaded CPU is probably not going to show any noticeable improvement in performance. In this situation, it is always good to have 2 cores available so when Windows background tasks become active, they can be assigned to the second core. That allows the main core to keep working on whatever it is doing. Do you need 3 cores or 4 cores for this task? Probably not. If you added 1 or 2 more cores, they would be sitting idle about 99% of the time.
In a situation where a 4 core CPU has hyper-threading available, now there are 8 threads available to complete tasks. If you are running a game or task and the C0% starts going over 50% on a regular basis, that means 4 of your 8 threads are fully loaded. If these tasks are being properly scheduled, all 4 cores will be fully utilized and the 4 hyper threads will be available to process any tasks beyond that. At this point, it is time to start thinking about adding more cores. Hyper threading is good but an actual core is usually going to be an improvement.
That's the theory. There are going to be situations where the C0% is say between 50% and 60%. Sure this might run slightly better on a 6 core CPU but is it really worth the cost of upgrading just for this amount of load? Probably not. Four cores with hyper threading should be able to handle this.
Most people like looking at the squiggly lines that the Task Manager shows but there are situations where this data might not be giving you an accurate look at what a CPU is doing. I have a Core i7 laptop with hyper threading so it has 8 threads available. When running a 4 thread TS Bench test, that should result in the CPU spending 50% of the time in the C0 state working on the benchmark and another 0.5% in the C0 state for the Windows background task processing. Have a look at what the Task Manager shows during this very steady load.
Task Manager reports a nice and steady 71% Utilization number. It took me a while to understand where this number was coming from but I think it scales the actual C0% based on what the default multiplier is for this CPU. The turbo boost multiplier is 34 divided by the 24 default multiplier equals (34/24) or a factor of 1.4167. Take that scaling factor and multiply it by 50.5% and you get a Utilization value of about 71%. Interesting. Completely useless information but definitely interesting. Users put way too much faith in those squiggly Task Manager graphs. I prefer C0% because it is a much more precise measure of how many cores are being used or needed.
Anyone with some Excel skills should be able to convert that log file data into some fancy looking graphs and pie charts. Not sure if I will ever get around to adding something similar directly to ThrottleStop but I might.
one question.
if there are 2 apps with 1 thread each how do i know if i am single thread limited if both apps are on 1 core if they both "fit" or does it never manage threads like that?
Also how would i know if i am single thread limited if the thread bounces around cores.
If its >25% it is 100% single thread filled? or could it be 2 cores are on and off full.
Like if one task requires 70% of a core for 30 seconds and another requres 50% of a core for 30 seconds that doesn't mean i am single thread limited but C state woube like 30% no?