How to maximize mining performance?


I've mined Zcash on a VM with 4 cores and 8GB RAM available. CPU load of the host PC was about 30% (I believe, 1 core maxed out and a few % for the host OS), and about 1.8GB was actually used by VM of the 8GB RAM limit (I used dynamic). So, it wasn't maximum possible mining speed, right?

What are the options to control the mining process?
What are the defaults in current version?


Right now there are a few performance bugs that the devlopers are working on.
First one is that the default genproclimit=-1 does not take advantage of additional cores as it should so you can get a little more performance by setting
genproclimit=(your number of cores)
You can do this in your zcash.conf file.

Secondly when you do that it does divide computation to more cores but it also creates duplicate nonce values (another bug) so it's not truly running in parallel.

Both of these problems have been recently closed on github and should be in Alpha z6 when it is released (hopefully soon)


It's interesting that you're using a VM. One way to try pushing your system would be to start another VM instance and mine on both of them.


Instead of using a VM (which comes along with a lot of overhead) you might consider installing Linux. If you are hesitant to do that (or to dual boot) because you don't want to mess around with your current OS install, then one alternative would be booting to a live version of linux via a USB drive and keeping a persistent storage container on the drive.

That should reduce your overhead and speed up your mining, without you having to make any lasting changes to your usual OS.