Overclocking the 10 Core i9-7900X CPU
I spent about three weeks dialing in the overclock on this CPU. This i9-7900X CPU was purchased from Silicon Lottery de-lidded with a 4.7 GHz bin.
If you’ve been following along for a while now, you will remember back when I was doing my initial testing of the Motherboard, CPU and RAM hardware, that I was able to overclock this CPU to 5.0 GHz.
That was just with a 240mm AIO cooler on the test bench, so other than a few Cinebench runs I never really ran any stress tests on the CPU as that would be rather pointless on just a 240mm AIO cooler.
I figured that more than likely 5.0 GHz was not going to be stable for a 24/7 overclock, but I really want to be able to find an overclock that will work at 4.9 GHz if possible, providing the temps are good, and I don’t have to feed it an excessive amount of voltage.
There are a lot of people that are more knowledgeable, and more experienced than I am at overclocking, so I certainly would not consider myself to be an overclocking expert, rather an overclocking enthusiast. I was pretty good with overclocking the Haswell/Devils Canyon platform, but the X299 is a new platform for me.
I had an i7-4790k that I ran at 4.9 GHz 24/7, and even got it up to 5.135 GHz long enough for a screen shot to join the 5 GHz club here.
That was back when hitting 5 GHz was quite an accomplishment!
With that said, I am not going to consider this to be a “Guide” so to speak, but I am going to share with you the process I used to get to the end results.
I am going to use HWiNFO to monitor the temps and voltages. I’ll be using the Real Bench stress test to verify stability. Many overclockers use Prime 95 to test for stability. Personally I think that Prime 95 is not a good program to use for stability testing any more, the same goes for OCCT and Linpack. Using these programs is like taking a torch to your CPU!
In the past I have used the Intel Extreme Tuning Utility also known as XTU. I really liked that program, but I have found that all of your overclock settings can pass eight hours of XTU stress test, and then crash while playing games, or crash in less than 30 minutes on Real Bench.
The Real Bench stress test is more jarring, and has more real life like loads than other stress tests do. It also runs hotter than the Aida64 stress test, about 10 degrees hotter in my experience. So in my opinion, if your overclock passes four hours of the Real Bench stress test, then there’s a good chance that your CPU/RAM overclock will be stable when gaming, and in real life everyday workloads.
It’s been a while since this hardware was up and running on the test bench, so before I got started, I updated Windows 10 to the latest version, and my bios to the latest version which is 1603. I have seen multiple people report that this newest bios version makes the CPU run 4° to 5° hotter than previous bios versions. I am going to use it anyway because I am a firm believer that generally you should use the newest bios, and if a future bios comes out that lowers the temps I’ll still be good to go with these overclock settings.
Here is the preliminary settings I changed in the bios before getting started. With the system running, right click on the start button and click “Power Options”, then “Additional Power Settings” then select “High Performance”, not “Balanced”. Then restart and hold the delete key to enter the bios.
Go into the “Extreme Tweaker\External Digi+Power Control” menu. I changed the CPU Load-line Calibration to Level 5, CPU Current Capability to 200%, CPU Power Phase Control to Optimized, CPU Power Thermal Control to 125, DRAM Current Capability to 140%, and DRAM Power Phase Control to Optimized.
Next go to the Extreme Tweaker\Internal CPU Power Management menu and turn Enhanced Intel SpeedStep Technology to Disabled. You should also see the CPU Integrated VR Efficiency Management set to High Performance at the bottom.
Now in the main Extreme Tweaker Menu, turn the Ai Overclock Tuner to Manual. We want to leave the RAM set to stock setting to start with, until we get a good stable multiplier, and vcore setting before moving to the XMP memory settings.
I set the AVX Offset to -5, and the AVX-512 Offset to -7. This is to keep these instruction sets from causing any excessive heat that could affect the overclocking results. I am not too concerned about the overclocking of these instruction sets right now, and I can always come back later and work on lowering these offsets if I want to.
Scrolling down, next turn the CPU Core Ratio to Sync All Cores. I started with x49 even though this screen shot shows x48. Also set CPU SVIC Support to Disabled.
CPU Core Overclock – finding the right vcore
The whole point of this is to get the vcore as low as possible to keep the temps as low as possible, while maintaining stability in the Real Bench stress test. So we are looking for what I like to call “the fringe of stability”.
Some people will say to start with a low multiplier, with a moderate vcore to find your stability. I prefer to start with a high multiplier, and the highest vcore I’m comfortable with, and if it crashes right away, well it’s just way faster to find the “fringe” that we are looking for rather than let the stress test run for long periods of time.
Before I start, I adjust the CPU Input Voltage also known as the VCCIN to 1.95v. I like to put that at the higher end of what I expect it to be because if this voltage is too low, no matter what you do with all the other voltages you won’t ever find stability! Once all the other settings are dialed in I’ll come back and find the best voltage for the CPU Input.
I started with a x49 multiplier to see how much voltage the CPU will need to run that high. I set the CPU Core Voltage Override (which is the VID or voltage to the CPU cores) to 1.26v and it crashed on the Real Bench stress test. Raising to 1.28v it crashed again. With 1.30v it would pass Real Bench for 30 minutes, but the CPU max temps were creeping into the 80s, and this is more voltage than I want to use for a 24/7 overclock, and much warmer than I want to run it at.
Here’s the settings I use for Real Bench, click the Stress Test button. I use a 30 minute test until I get close to the “fringe”, then I move to a 4 hour test, and I use the “Up to 16GB RAM” from the drop down box. I have 32GB of RAM, but the system uses some RAM, so the 16GB option seems to work the best.
So rather quickly I find that with the x49 multiplier the CPU needs just too much vcore for my comfort level, so I’ll have to back it down to 4.8 GHz for a 24/7 overclock. I’m sure I can come up with a 4.9 GHz profile that will pass some benchmark tests at least, but 4.8 GHz is certainly the sweet spot for this CPU.
With the multiplier set to x48, I start with 1.26v, then 1.24v, then 1.22v all passes 30 minutes on Real Bench, but once I got down to 1.20v it crashed. There is no point in narrowing it down any more than that because I know it will need more than 1.22v once I turn on the XMP profile. So I up the vcore to 1.24 to work on the RAM overclock next.
XMP Memory Overclock
I did test this RAM thoroughly with HCI Memtest on the test bench back on this post.
That was done with all stock settings in the bios except for the XMP profile turned on. That test ran for almost six days, so I already know the RAM is good.
Ideally you could just turn the XMP profile on, and it will run perfectly with your CPU overclock. Unfortunately that rarely seems to be the case, especially if you have more than just a mild overclock. So I turned the XMP profile on with my CPU overclock settings on, and of course it’s not stable. The first thing to try is to take the RAM voltage off of auto and set to the highest setting you are comfortable with.
The stock voltage is 1.35v. You should be able to turn the RAM voltage up to 1.4v safely, probably even 1.45v, but I certainly would not go any higher that that. Often times raising this voltage will do the trick, but it did not pass the Real Bench stability test. If it did pass then you would split the difference between 1.35v and 1.39v to make the setting 1.37v, and continue testing from there.
Now I will have to adjust the System Agent voltage also known as the VCCSA, and the I/O voltage also known as VCCIO. Normally I only want to change one setting at a time when testing for stability, but in this case these voltages often end up very close to each other when you look at other people’s final overclock settings.
I have seen where the System Agent is slightly higher than the VCCIO, and I’ve also seen the opposite where the VCCIO ends up slightly higher than the System Agent. So in this case I’m going to move these two voltages up and down together, and I can always fine tune this later if I want to.
From everything I have read up to 1.3v is very safe with these two settings, but like all overclocking… the higher you go the more risk you take. I’m totally comfortable all the way up to 1.25v.
The system would not post at 1.14v on the System Agent and I/O voltages. I found stability at 1.18v, but I’m going to run both at 1.20v to give me some leeway. I was then able back down the RAM voltage back to the stock 1.35v, with the System Agent and VCCIO at 1.2v and passed four hours of Real Bench. Then I backed down the vcore voltage to 1.232v, this was as low as I could get the vcore with the XMP profile on and still be stable.
Over time you will find that the CPU will need a little more vcore to maintain stability. It’s Winter here now, come Summer time the CPU may need a little more vcore due to higher ambient temps. Also some games or jarring loads may still crash your system if you run it on the “fringe of stability”.
So if you want your system to run nice and stable without crashing in the middle of an intense part of the game you are playing, you should increase the vcore above your minimum stable vcore. I always add at least .005 volts to my minimum vcore or round up to a nice even number. I’m going to run the vcore at 1.24v.
Most people are able to get x30 or x31 stable on the Mesh multiplier. I have seen some people able to get x32, however they are usually also complaining about stability
The Mesh overclock will give you the least returns, the core clock is king followed by RAM. On the Haswell platform which uses ring/cache instead of mesh, there is virtually no change in benchmarks no matter how high you go.
Therefore the real difference between x31 and x32 will more than likely be very minimal. I’m going to start with x31, if I can get the x31 stable I’ll be quite happy with that, and won’t bother attempting a x32 setting. I ended up being able to get x31 stable on the mesh with 1.00v. I didn’t try to go any lower than that on the mesh voltage because that is already fairly low.
At this point I progressively lower the CPU Input voltage all the way down to 1.80v and it’s still stable for four hours of Real Bench. I was actually pretty surprised I was able to get the CPU Input voltage this low!
Here’s the rest of the Extreme Tweaker settings running 4.8 GHz all cores on the XMP profile. It’s one long page, but requires four screen shots to show it all.
Now that the CPU vcore is dialed in with manual voltage control, the RAM is dialed in with XMP, and the Mesh is all stable, I will switch over to adaptive voltage control. This will allow the CPU multiplier to down clock and the voltages to drop down when not under heavy load.
This saves power, and keeps your temps to a minimum, while allowing it to go up to your overclock settings when needed. Of course this is not going to be as easy as just turning it from manual voltage to adaptive voltage. It will require a little more tweaking.
I ended up using the same vcore of 1.24v, but had to raise the mesh voltage up to 1.1, and the CPU Input voltage up to 1.94v, but I’ll run the CPU Input voltage at 1.95v for some cushion.
Here’s the final bios settings in the Extreme Tweaker menu with Adaptive voltage control. The CPU core max was 72° with an ambient of 19° C.
By Core Overclocking – Two cores at 4.9 GHz
With this x299 platform you have the ability to overclock each core individually. In the CPU Core Ratio drop down box, change it from “Sync All Cores” to “By Core” another drop down menu appears below it, allowing control over each core. I’m going to see if I can squeeze 4.9 GHz off of the two best cores.
The two best cores have an asterisk next to them. I have played around with this for a while. I tried all the way up to 1.33 vcore on those two cores and still not stable for four hours of Real Bench, but I was able to run Cinebench.
I may play around with this more later on but for now I’m actually really happy with 10 cores, and 20 threads all running 4.8 GHz with temps that will likely never reach the 70s!
Time to run some benchmarks, so I can measure the difference the overclock makes. First let’s look at my current daily driver machine which has an i7-4790k @ 4.8 GHz single core first which scores 172.
Here’s the 4970k @ 4.8 GHz with all cores, it scores a 942.
Now here’s the i9-7900x with all stock settings in the bios with a single score of 170. It’s just slightly less than my 4790k running at 4.8 GHz.
Stock settings again with all cores and threads gets a 2086 score.
Changing to the 4.8 GHz overclock profile that I plan to use most of the time, let's see what it will do. This shows both the single core and all core scores with a 210 and 2561 score respectively. That is a 23% gain over the stock settings
Using my profile with two cores at 4.9 GHz and the rest @4.8 GHz moves the single core score up by five to 215, and the all core up to 2576 which is not much higher than my more modest x48 profile.
Just for fun I thought I’d see if I could get 5.0 GHz to make it through both Cinebench runs just for comparision. I cranked up the vcore to 1.3v with the rest of the settings the same as my 4.8 GHz Adaptive settings. I’m sure it would not be Real Bench stable like this, but it ran Cinebench just fine. This pushed up the singe score by another five to 220 and all core to 2678!
Here's a chart view comparing the single core, and all core scores of a 4790k @ 4.8 GHz, 7900x stock, 7900x @ 4.8 GHz, 7900x @ 4.9 GHz on two cores, and the 7900x cranked up to 5.0 GHz.
So to recap I have a nice 24/7 overclock profile with all cores @ 4.8 GHz that I’m happy with. None of the voltages are set crazy high, the temps are great, and I’m confident it should be quite stable for my use. I also have a two core 4.9 GHz overclock profile that works, but could use some refinement.