Runtime Environment VariablesΒΆ

The interface to the umap runtime library configuration is controlled by the following environment variables.

UMAP_PAGESIZE=$((2*4096)) your_program_that_uses_umap

The following environment varialbles may be set:

  • UMAP_PAGE_FILLERS This is the number of worker threads that will perform read operations from the backing store (including read-ahead) for a specific umap region.

    Default: std::thread::hardware_concurrency()

  • UMAP_PAGE_EVICTORS This is the number of worker threads that will perform evictions of pages. Eviction includes writing to the backing store if the page is dirty and telling the operating system that the page is no longer needed.

    Default: std::thread::hardware_concurrency()

  • UMAP_EVICT_HIGH_WATER_THRESHOLD This is an integer percentage of present pages in the Umap Buffer that informs the Eviction workers that it is time to start evicting pages.

    Default: 90

  • UMAP_EVICT_LOW_WATER_THRESHOLD This is an integer percentage of present pages in the Umap Buffer that informs the Eviction workers when to stop evicting.

    Default: 70

  • UMAP_PAGESIZE This is the size of the umap pages. This must be a multiple of the system page size.

    Default: System Page Size

  • UMAP_BUFSIZE This is the total number of umap pages that may be present within the Umap Buffer.

    Default: (90% of free memory)

  • UMAP_MONITOR_FREQ This is the interval (in seconds) for the monitoring thread to print statistics, e.g., filled pages, free pages and processed events for debugging or tuning.

    Default: 0