At moment of writing 12th september 2017. There are not a lot of cyrptocurrencies that it’s still possible to mine with a simple CPU. Anyway monero is one of them. You should find a good miner pool for monero and also run a good and fast miner software, possibly open source.

First of all, stay away from minergate mining pool. Infact we have discovered that mining rate shown by the pool is very lower than it should be. Some power connected to another pool, gives about 20-30% of more hashes per seconds compared to minergate. Second problem of minergate is the usage of closed source software, that may lead to unknown processing on your cpu system. For these reasons, it’s better to stay away. Better one, instead, is xmrpool.eu , an anonymous pool of xmr miners that seems fair and fast.

We found that for CPU mining on linux command line (in this case we are using a ubuntu 16.04) is xmrig, fast, configurable, and easy to manage miner software. It can be downloaded from github page at https://github.com/xmrig/xmrig  . Just decompress and setup the configuration file. Here below an example of configuration file. Please remember that for mining purpose it’s better that the cpu is idle for any other job.

{
“algo”: “cryptonight”,
“av”: 0,
“background”: false,
“colors”: true,
“cpu-affinity”: null,
“cpu-priority”: null,
“donate-level”: 1,
“log-file”: “/var/log/xmrig.log”,
“max-cpu-usage”: 95,
“print-time”: 60,
“retries”: 5,
“retry-pause”: 5,
“safe”: false,
“syslog”: false,
“threads”: null,
“pools”: [
{
“url”: “xmrpool.eu:3333”,
“user”: “yourxmraddress+yourworkerid”,
“pass”: “x”,
“keepalive”: true,
“nicehash”: false
}
]
}

Obviously in reported config file you should insert your monero wallet address + your workerid. Worker id is the id or simply the unique name that you give to the present cpu rig you are running with the software.

If your cpu supports hugepages, it’s better to enable them. The commands to do that are:

echo 128 > /proc/sys/vm/nr_hugepages

sysctl -w vm.nr_hugepages=128

Also you should run the miner as root. The command to start mining in background is:

./xmrig -c config.json -B

at this time you should see in the logfile /var/log/xmrig.log the following notices:

[2017-09-12 08:14:31] * VERSIONS: XMRig/2.3.1 libuv/1.8.0 gcc/7.1.0
[2017-09-12 08:14:31] * HUGE PAGES: available, enabled
[2017-09-12 08:14:31] * CPU: Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz (1) x64 AES-NI
[2017-09-12 08:14:31] * CPU L2/L3: 1.0 MB/8.0 MB
[2017-09-12 08:14:31] * THREADS: 4, cryptonight, av=1, donate=1%
[2017-09-12 08:14:31] * POOL #1: xmrpool.eu:3333

this means that all is ok and hugepages are available and enabled. Now you should go to the pool, insert the monero wallet address you specified in configuration file, and watch if the mining is really in progress and which is the actual hashrate your worker is producing.