Performance Tricks

These instructions are designed to improve the performance of Erigon 3, particularly for synchronization and memory management, on cloud drives and other systems with specific performance characteristics.

Increase Sync Speed

  • Set --sync.loop.block.limit=10_000 and --batchSize=2g to speed up the synchronization process.
--sync.loop.block.limit=10_000 --batchSize=2g

Optimize for Cloud Drives

  • Set SNAPSHOT_MADV_RND=false to enable the operating system's cache prefetching for better performance on cloud drives with good throughput but bad latency.
SNAPSHOT_MADV_RND=false

Lock Latest State in RAM

  • Use vmtouch -vdlw /mnt/erigon/snapshots/domain/*bt to lock the latest state in RAM, preventing it from being evicted due to high historical RPC traffic.
vmtouch -vdlw /mnt/erigon/snapshots/domain/*bt
  • Run ls /mnt/erigon/snapshots/domain/*.kv | parallel vmtouch -vdlw to apply the same locking to all relevant files.

Handle Memory Allocation Issues

  • If you encounter issues with memory allocation, run the following to flush any pending write operations and free up memory:
sync && sudo sysctl vm.drop_caches=3
  • Alternatively, set:
echo 1 > /proc/sys/vm/compact_memory

to help with memory allocation.