It's more productive to undervolt anything 10 series and later.
Overclocking makes the gpu run hotter and run into board power limits more frequently, and Gpu Boost doesn't like that.
Run Msi Afterburner. Unlink the Power and Temperature Limits - there's a paperclip like icon next to it depending on the skin being used.
Max out only the power limit, and click apply.
Play your games with Afterburner's own hardware monitor running. Make sure both Core Clock and Gpu Voltage are visible.
[If Gpu Voltage is not visible, go to Settings > General tab, check Unlock voltage monitoring, then go to the Monitoring tab, find Gpu Voltage, and check it.]
After a few minutes, check Afterburner's hardware monitor for the MAX Core Clock and Gpu Voltage. Memorize, or write 'em down.
Close the game, and open Afterburner's Curve Editor. Take the max gpu voltage you recorded, and subtract 0.05v from it. Find the voltage point in the Curve Editor that matches it, or is the closest match, and click on it.
Then use the up arrow key and raise the frequency back up to the max core clock the gpu touched. Lock it with the L key, and click Apply again.
Save the settings in one of the numbered profiles and lock them. Then click the reset key.
Done.
When you want to start up a game, open Afterburner, click the numbered profile it was saved at, and click apply. When you're done, click the Reset button and close Afterburner.
Memory OC'ing? I don't bother with it. It's not as forgiving.
Once a running memory OC starts showing signs of instability, it's usually going downhill from there. I think it's better to just leave that one alone.