mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-01-10 07:08:05 -05:00
doc/testnet/node: minerd configuration section added
This commit is contained in:
@@ -218,8 +218,11 @@ make[1]: Leaving directory '/home/anon/darkfi/bin/minerd'
|
||||
This process will now compile the mining daemon. When finished, run
|
||||
`minerd` once so that it spawns its config file on your system. This
|
||||
config file is used to configure `minerd`. You can define how many
|
||||
threads will be used for mining. RandomX can use up to 2080 MiB per
|
||||
thread so configure it to not consume all your system available memory.
|
||||
threads will be used for mining. RandomX can use up to `2080 MiB` of
|
||||
shared memory, so configure `minerd` to not consume all your system
|
||||
available memory. Refer to [ram consumption](#ram-consumption) section
|
||||
to see expected totals using various configurations, so you can
|
||||
configure your `minerd` accordingly.
|
||||
|
||||
```shell
|
||||
$ ./minerd
|
||||
@@ -278,6 +281,96 @@ $ ./minerd
|
||||
...
|
||||
```
|
||||
|
||||
#### Minerd configuration
|
||||
|
||||
`minerd` configuration file provides several ways to optimize RAM
|
||||
utilization and mining hashrate. This section will describe some of the
|
||||
provided configuration flags, along with a table at the end showcasing
|
||||
total daemon RAM consuption using each. By default, `minerd` is running
|
||||
using `fast-mode`, where `2080 MiB` of shared memory is required for
|
||||
the RandomX dataset. To enable or disable a flag, simply set its value
|
||||
to `true` or `false` in the configuration file and restart `minerd`.
|
||||
Read what each flag does before enabling it.
|
||||
|
||||
#### `light-mode`
|
||||
|
||||
In this mode, `minerd` will run using only `256 MiB` of shared memory,
|
||||
but in will run significantly slower, with huge impact on hashrate. It
|
||||
is used mainly for verification, not mining, but its available in case
|
||||
system resources are ultra limited.
|
||||
|
||||
#### `large-pages`
|
||||
|
||||
`Huge Pages`, also known as `Large Pages` (on `Windows`) and
|
||||
`Super Pages` (on `BSD` or `macOS`) is the process of reserving RAM
|
||||
with larger than default chunk (page) size, which give the CPU/OS fewer
|
||||
entries to look-up, and increases mining hashrate performance up to
|
||||
50%. General recommendations is `1280` pages for RandomX. Please note
|
||||
`1280` pages means `2560 MiB` of memory will be reserved for huge pages
|
||||
and become not available for other usage. Before enabling the flag, we
|
||||
must reserve the huge pages, otherwise `minerd` will gives us an
|
||||
allocation error.
|
||||
|
||||
To temporary (until next reboot) reserve huge pages, execute as `root`:
|
||||
|
||||
```shell
|
||||
# sysctl -w vm.nr_hugepages=1280
|
||||
```
|
||||
|
||||
To verify huge pages have been reserved, execute:
|
||||
|
||||
```shell
|
||||
$ grep Huge /proc/meminfo
|
||||
|
||||
...
|
||||
HugePages_Total: 1280
|
||||
HugePages_Free: 1280
|
||||
...
|
||||
```
|
||||
|
||||
To permantly reserve huge pages, you need to modify your boot
|
||||
configuration. In this example, we will use `grub` to reserve the
|
||||
pages.
|
||||
|
||||
> Note:
|
||||
> Before proceeding, take a backup of your current `grub`
|
||||
> configuration file and be extra carefull on following the
|
||||
> instructions, as mistakes will result in your system not booting.
|
||||
|
||||
Open your current `grub` configuration file (the default path is
|
||||
`/etc/default/grub`), find `GRUB_CMDLINE_LINUX_DEFAULT` option and
|
||||
append `hugepagesz=2MB hugepages=1280` at the end of its parameters.
|
||||
The option should look like this:
|
||||
|
||||
```text
|
||||
GRUB_CMDLINE_LINUX_DEFAULT="{YOUR_PREVIOUS_PARAMETERS} hugepagesz=2MB hugepages=1280"
|
||||
```
|
||||
|
||||
Save the file and execute as `root`:
|
||||
|
||||
```shell
|
||||
# update-grub
|
||||
```
|
||||
|
||||
Now you can reboot your system and huge pages will be reserved. If you
|
||||
want to revert, just remove the huge pages parameters from your `grub`
|
||||
configuration, update it and reboot.
|
||||
|
||||
#### RAM consumption
|
||||
|
||||
Here is a table showcasing `minerd` daemon total RAM consumption in MiB
|
||||
using various threads count for mining and optimization flags.
|
||||
|
||||
| Threads | `light-mode` | `fast-mode` | `fast-mode` + `large-pages` |
|
||||
|---------|--------------|-------------|-----------------------------|
|
||||
| 1 | 271 | 2351 | 14.0 |
|
||||
| 4 | 277 | 2357 | 14.2 |
|
||||
| 8 | 285 | 2365 | 14.4 |
|
||||
|
||||
> Note:
|
||||
> The last column shows sow low RAM consumption because the dataset is
|
||||
> allocated in the already reserved system huge pages.
|
||||
|
||||
### Darkfid
|
||||
|
||||
Now that `darkfid` configuration is in place, you can run it again and
|
||||
|
||||
Reference in New Issue
Block a user