Changing clocks needs root on Linux (
sudo hashwarp ...) or administrator rights on Windows. Rig operating systems that overclock themselves, such as HiveOS and mmpOS, don’t need these options: set the overclock there.Finding the settings: —oc-tune
- It raises the memory clock step by step, as long as the results stay correct and the hashrate grows. GDDR6X memory corrects its own errors, which shows as a hashrate that falls again rather than as wrong results; the tuner watches for both. It keeps the best memory clock, or the one below it when that costs almost nothing.
- It lowers the core clock as far as the hashrate stays within 1%.
- It mines a while longer with both to confirm them, and backs off a step if they fail.
hashwarp-oc.json next to the configuration file (--oc-tune-file to change it). Mine with them using the tuned profile:
--oc-tune=corekeeps a memory clock tuned before, and only tunes the core clock.- A memory clock that is too high can hang a GPU. The watchdog then exits Hashwarp, which restores the settings.
- Run
--oc-tuneagain after changing drivers or cooling, or swapping GPUs: results are kept per GPU.
Profiles
--oc-profile takes one profile per GPU, or one for all:
Your own profiles go into the configuration file, and can be chosen per GPU:
oc- prefix.
Settings
These take one value per GPU, or one for all;x leaves a GPU alone, for example --oc-mem-offset 2000,x,1500. They override a profile’s values.
Each GPU’s settings are logged when mining starts:
AMD GPUs
On Linux, AMD GPUs only accept clock changes with overdrive enabled: addamdgpu.ppfeaturemask=0xffffffff to the kernel command line and reboot. AMD GPUs take a memory clock (--oc-mem-clock) rather than an offset. Overclocking AMD GPUs on Windows isn’t supported: use AMD Adrenalin.
Restoring the stock settings
Hashwarp restores each GPU’s previous settings when it exits, also after a watchdog exit. If it is killed (kill -9, a power loss), it can’t: reboot, or set the stock settings with

