🍺 BREW Explorer

← all formulae

eatmemory

brew install eatmemory v1.1.0 MIT

Simple program to allocate memory from the command-line

6
30-day installs · #10085
38
90-day · #8020
58
365-day · #10646
142
★ GitHub stars · updated 3mo ago

Links

Raw metadata
{
  "aliases": [],
  "alternatives": [],
  "build_dependencies": [],
  "categories": [],
  "caveats": null,
  "conflicts_with": [],
  "dependencies": [],
  "deprecated": 0,
  "deprecation_reason": null,
  "desc": "Simple program to allocate memory from the command-line",
  "disable_reason": null,
  "disabled": 0,
  "enrichment_fetched_at": "2026-06-20T23:37:14+00:00",
  "first_seen": "2026-06-20T23:34:18+00:00",
  "full_name": "eatmemory",
  "github_default_branch": "main",
  "github_last_commit_at": "2026-05-15T14:22:59Z",
  "github_readme_excerpt": "# eatmemory\n\nA small command-line tool that allocates and **holds** a specified amount of\nRAM until you release it. One job, done reliably.\n\n```sh\neatmemory 1G\n```\n\n## Why eatmemory?\n\n- **Verified allocation.** Every byte is written and read back through\n  volatile-qualified pointers before the tool reports success. If\n  `eatmemory 1G` exits with status 0, you got 1 GB of *resident, committed*\n  memory. Not a lazy kernel reservation, not a write the compiler optimized\n  away.\n- **Portable.** Builds and runs on Linux (glibc and musl), macOS, Windows,\n  and AIX. CI exercises **44 cross-compile targets**, including m68k, mips,\n  ppc64le, riscv32/64, xtensa, and wasi, across **gcc 4 through gcc 13**.\n  If your platform has a C99 compiler, eatmemory likely works on it.\n- **Tiny, zero runtime dependencies.** A single C99 binary; no shared\n  libraries beyond libc. Static-link friendly.\n- **Docker-ready, multi-arch.** `docker run --rm julman99/eatmemory 1G`.\n  Especially useful for exercising memory behavior *inside* containers.\n- **Simple by design.** `eatmemory \u003csize\u003e`. For comparison:\n\n  ```sh\n  eatmemory 1G                                                    # eatmemory\n  stress-ng --vm 1 --vm-bytes 1G --vm-keep --vm-method zero-one   # alternative\n  ```\n\n## Use cases\n\n- **Test swap configuration.** Fill RAM, observe the system start paging.\n- **Test container memory limits.** Run inside `docker run --memory=512m`\n  and confirm the OOM-killer fires where you expect.\n- **Test Kubernetes pod limits, evictions, QoS classes, and HPA.** Deploy a\n  pod running `eatmemory 90%` and watch pod eviction, QoS-class behavior, or\n  horizontal-pod-autoscaler triggers.\n- **Validate monitoring and alerting.** Generate memory pressure on demand\n  to confirm your alerts fire on the right thresholds.\n- **Test service degradation under pressure.** Run alongside a real service\n  and watch tail latency as the system starves for memory.\n- **Test autoscaling.** Trigger memory-based scaling polic",
  "github_repo": "julman99/eatmemory",
  "github_stars": 142,
  "github_topics": [],
  "homepage": "https://github.com/julman99/eatmemory",
  "homepage_og_description": null,
  "homepage_og_image": null,
  "homepage_title": null,
  "installs_30d": 6,
  "installs_365d": 58,
  "installs_90d": 38,
  "keg_only": 0,
  "keg_only_reason": null,
  "last_seen": "2026-06-20T23:34:18+00:00",
  "license": "MIT",
  "llm_generated_at": null,
  "llm_model": null,
  "name": "eatmemory",
  "oldnames": [],
  "one_liner": null,
  "optional_dependencies": [],
  "rank_30d": 10085,
  "rank_365d": 10646,
  "rank_90d": 8020,
  "raw_hash": "c06060fc525e7373",
  "recommended_dependencies": [],
  "revision": 0,
  "ruby_source_path": "Formula/e/eatmemory.rb",
  "tap": "homebrew/core",
  "test_dependencies": [],
  "uses_from_macos": [],
  "version_head": null,
  "version_stable": "1.1.0",
  "versioned_formulae": [],
  "why_use_this": null
}