# hoytech/vmtouch

Portable file system cache diagnostics and control

Repository: https://github.com/hoytech/vmtouch
Canonical: https://ross.abutalabs.com/products/vmtouch
Homepage: https://hoytech.com/vmtouch/
Language: C
License: BSD-3-Clause
License Family: permissive
Topics: virtual-memory, filesystem-cache, touch, evict, mlock, lock-memory, paging, pages, page, cache
Last push: 2024-03-02T21:44:42+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 5334, "days_push": 914, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1951, forks 223 (observed 2026-08-28T04:05:58.223329+00:00)

## What it is
vmtouch is a portable command-line utility for learning about and controlling the file system cache of Unix and Unix-like systems. It reports which files and pages are resident in memory, lets you load or evict files from cache, and can lock files into memory with mlock so the OS cannot evict them.

## Use cases
- check how much of a directory or file is currently in the page cache
- lock a file into memory so the OS won't evict it
- evict a file from the file system cache
- warm the cache for batch or cron jobs
- keep a hot-standby file server's files resident in memory
- maintain a soft quota of cache usage
- plot filesystem cache usage over time
- preserve a virtual memory profile when failing over servers

## When to choose
- you need to inspect or control the Unix page cache from the command line
- you want to pin files into physical memory for predictable latency on databases or file servers
- you need a small, dependency-free C tool that runs across Unix-like platforms
- you are tuning or debugging cache behavior for batch jobs or hot-standby setups

## When to avoid
- you are on Windows or another non-Unix platform
- you need application-level cache management rather than OS page cache control
- you want a long-running daemon with automatic cache policies instead of an on-demand CLI

## Facets
- artifact type: cli-tool
- maturity: stable
- function: cli, caching, file-system, monitoring, developer-tools
- domain: developer-tools, operating-systems, performance, files
- platform: bsd, cli
- tags: page-cache, virtual-memory, mlock, cache-eviction, cache-warming, memory-management, system-administration, posix, cache-diagnostics, command-line, linux, macos

## Member repositories
- hoytech/vmtouch (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:58.223329+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:06:49.573524+00:00, confidence not recorded.
  - readme: https://github.com/hoytech/vmtouch (fetched 2026-08-28T04:05:58.223329+00:00, sha 7ace347239a4)
  - homepage: https://hoytech.com/vmtouch/ (fetched 2026-08-29T10:46:30.202451+00:00, sha e1e556491bbf)
  - site_page: https://hoytech.com/about (fetched 2026-08-29T10:46:30.212645+00:00, sha 16a37d94d106)
- Data as of 2026-08-30T08:39:29.467469+00:00.
