From 84abee7b2c81f8a0adca1eca639d46ad341e0783 Mon Sep 17 00:00:00 2001 From: Patrick O'Grady Date: Fri, 16 Oct 2020 07:53:32 -0700 Subject: [PATCH] Add note about memory mapped files --- README.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9d53b17..e804c0c 100644 --- a/README.md +++ b/README.md @@ -85,10 +85,9 @@ _If you cloned the repository, you can run `make run-testnet-offline`._ ## System Requirements `rosetta-bitcoin` has been tested on an [AWS c5.2xlarge instance](https://aws.amazon.com/ec2/instance-types/c5). -This instance type has 8 vCPU and 16 GB of RAM. If you use a computer with less than 16 GB of RAM, -it is possible that `rosetta-bitcoin` will exit with an OOM error. +This instance type has 8 vCPU and 16 GB of RAM. -### Recommended OS Settings +### Network Settings To increase the load `rosetta-bitcoin` can handle, it is recommended to tune your OS settings to allow for more connections. On a linux-based OS, you can run the following commands ([source](http://www.tweaked.io/guide/kernel)): @@ -106,6 +105,12 @@ enabling it._ You should also modify your open file settings to `100000`. This can be done on a linux-based OS with the command: `ulimit -n 100000`. +### Memory-Mapped Files +`rosetta-bitcoin` uses [memory-mapped files](https://en.wikipedia.org/wiki/Memory-mapped_file) to +persist data in the `indexer`. As a result, you **must** run `rosetta-bitcoin` on a 64-bit +architecture (the virtual address space easily exceeds 100s of GBs) and may need to increase the +allocated size of swap space to avoid a kernel OOM. + ## Architecture `rosetta-bitcoin` uses the `syncer`, `storage`, `parser`, and `server` package from [`rosetta-sdk-go`](https://github.com/coinbase/rosetta-sdk-go) instead