# Install numactl with Homebrew, apk, apt, dnf, Nix, pacman, zypper

NUMA support for Linux. Version 2.0.19 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:numactl
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install numactl
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add numactl
```

  Evidence: Alpine Linux edge package indexes: numactl from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install libnuma-dev
```

  Evidence: Debian stable package indexes: libnuma-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install numactl
```

  Evidence: Fedora Rawhide package metadata: numactl from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#numactl
```

  Evidence: nixpkgs package indexes: pkgs/by-name/nu/numactl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S numactl
```

  Evidence: Arch Linux sync databases: numactl from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install libnuma-devel
```

  Evidence: openSUSE Tumbleweed package metadata: libnuma-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:numactl
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/numactl>
- **Version:** 2.0.19
- **Source summary:** NUMA support for Linux
- **Homepage:** <https://github.com/numactl/numactl>
- **Repository:** <https://github.com/numactl/numactl>
- **Upstream docs:** <https://github.com/numactl/numactl#readme>
- **License:** GPL-2.0-only AND LGPL-2.1-only AND LicenseRef-Homebrew-public-domain AND LicenseRef-Homebrew-cannot-represent
- **Source archive:** <https://github.com/numactl/numactl/releases/download/v2.0.19/numactl-2.0.19.tar.gz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- memhog (cli)
- migratepages (cli)
- migspeed (cli)
- numactl (cli)
- numademo (cli)
- numastat (cli)
- memhog (alias)
- migratepages (alias)
- migspeed (alias)
- numactl (alias)
- numademo (alias)
- numastat (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.0.19
- Local data: ok
- Upstream repository: https://github.com/numactl/numactl
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

numactl is the standard Linux user-space tool and companion library package for controlling NUMA scheduling and memory placement policy. It includes the `numactl` command, libnuma, and utilities such as `numastat` and `memhog`.

### Project history

numactl grew out of early Linux 2.6 NUMA policy work. LWN published Andi Kleen's January 2004 announcement of a Linux 2.6 NUMA policy API implementation consisting of kernel policy API support, libnuma for applications, the `numactl` user-space policy tool, and test programs.

The current GitHub README keeps the same project definition: simple NUMA policy support, with a `numactl` program to run other programs under a specific NUMA policy and a libnuma shared library for applications. The README also states that the libnuma binary interface is intended to stay binary compatible, with incompatible changes using new symbol versions.

### Adoption history

numactl became part of the normal Linux performance and systems toolbox because multi-socket and large-memory machines make memory locality observable. Linux man-pages document it as the command for running processes with specific NUMA scheduling or memory placement policy, inherited by child processes, and for setting persistent policy on shared memory segments or files.

Distribution adoption is broad. The av.db source record maps numactl/libnuma packages across Alpine, Debian, Fedora, Nix, Arch, Ubuntu, and openSUSE; Homebrew packages it for Linux bottles and showed stable 2.0.19 with 28,653 installs over the visible 365-day analytics window on July 1, 2026.

### How it is used

Typical practical commands include `numactl --hardware` to inspect NUMA topology, `numactl --cpunodebind` or `--physcpubind` to bind CPU execution, `--membind` or `--preferred` to steer memory allocation, and `--interleave` to distribute pages across nodes. `numastat` is used to inspect allocation behavior after a workload runs.

Package nerds and performance engineers use numactl when benchmarking databases, JVMs, scientific workloads, ML training/inference processes, or any memory-bandwidth-sensitive service where scheduler placement and page locality can change results. The lazy but correct rule is to measure: pinning can help controlled benchmarks and production isolation, but bad bindings can make performance worse.

### Why package nerds care

numactl is a small package with outsized systems significance. It exposes Linux NUMA policy to shell users and gives C/C++ programs libnuma, making it one of the common bridges between kernel memory policy and practical performance tuning.

### Timeline

- 2004-01: LWN carried Andi Kleen's announcement of libnuma/numactl and the Linux 2.6 NUMA policy API implementation.
- 2003-2005: numactl source headers credit Andi Kleen/SuSE Labs work on command-line NUMA policy control.
- 2026-07-01: Homebrew formula showed stable 2.0.19 and Linux-only bottle support.

### Related projects

- Linux kernel NUMA policy
- libnuma
- numastat
- taskset
- hwloc

### Sources

- <https://formulae.brew.sh/formula/numactl>
- <https://github.com/numactl/numactl>
- <https://github.com/numactl/numactl/blob/master/numactl.c>
- <https://lwn.net/Articles/67005/>
- <https://man7.org/linux/man-pages/man3/numa.3.html>
- <https://man7.org/linux/man-pages/man8/numactl.8.html>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** numactl
- **Version Scheme:** 0
- **Revision:** 0
- **Requirements:** linux
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - libnuma-dev - 2.0.19-1: normalized package name match | Debian stable package indexes: libnuma-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Development files for libnuma | https://github.com/numactl/numactl
- Debian apt - libnuma1 - 2.0.19-1: normalized package name match | Debian stable package indexes: libnuma1 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Libraries for controlling NUMA policy | https://github.com/numactl/numactl
- Debian apt - numactl - 2.0.19-1: normalized package name match | Debian stable package indexes: numactl from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | NUMA scheduling and memory placement tool | https://github.com/numactl/numactl
- Nix - numactl: normalized package name match | nixpkgs package indexes: pkgs/by-name/nu/numactl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - libnuma-dev - 2.0.18-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libnuma-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Development files for libnuma | https://github.com/numactl/numactl
- Ubuntu apt - libnuma1 - 2.0.18-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libnuma1 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Libraries for controlling NUMA policy | https://github.com/numactl/numactl
- Ubuntu apt - numactl - 2.0.18-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: numactl from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | NUMA scheduling and memory placement tool | https://github.com/numactl/numactl
- apk - numactl - 2.0.19-r0: normalized package name match | Alpine Linux edge package indexes: numactl from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Simple NUMA policy support | https://github.com/numactl/numactl
- apk - numactl-dev - 2.0.19-r0: normalized package name match | Alpine Linux edge package indexes: numactl-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Simple NUMA policy support (development files) | https://github.com/numactl/numactl
- apk - numactl-doc - 2.0.19-r0: normalized package name match | Alpine Linux edge package indexes: numactl-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Simple NUMA policy support (documentation) | https://github.com/numactl/numactl
- apk - numactl-tools - 2.0.19-r0: normalized package name match | Alpine Linux edge package indexes: numactl-tools from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | NUMA policy control tools | https://github.com/numactl/numactl
- dnf - numactl - 2.0.19-4.fc44: normalized package name match | Fedora Rawhide package metadata: numactl from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Library for tuning for Non Uniform Memory Access machines | https://github.com/numactl/numactl
- dnf - numactl-devel - 2.0.19-4.fc44: normalized package name match | Fedora Rawhide package metadata: numactl-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development package for building Applications that use numa | https://github.com/numactl/numactl
- dnf - numactl-libs - 2.0.19-4.fc44: normalized package name match | Fedora Rawhide package metadata: numactl-libs from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | libnuma libraries | https://github.com/numactl/numactl
- pacman - numactl - 2.0.19-1: normalized package name match | Arch Linux sync databases: numactl from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Simple NUMA policy support | https://github.com/numactl/numactl
- zypper - libnuma-devel - 2.0.19.27.gc9475de-1.2: normalized package name match | openSUSE Tumbleweed package metadata: libnuma-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | NUMA Policy Control | https://github.com/numactl/numactl/releases


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [lttng-ust](https://www.automicvault.com/pkg/brew/lttng-ust/) - Popular package that depends on this formula.
- [keyutils](https://www.automicvault.com/pkg/brew/keyutils/) - Shares av.db curated category or tags: cli, linux, system.
- [mbw](https://www.automicvault.com/pkg/brew/mbw/) - Shares av.db curated category or tags: cli, memory, performance, system.
- [sysstat](https://www.automicvault.com/pkg/brew/sysstat/) - Shares av.db curated category or tags: cli, linux, performance, system.
- [vmtouch](https://www.automicvault.com/pkg/brew/vmtouch/) - Shares av.db curated category or tags: cli, memory, performance, system.
- [asitop](https://www.automicvault.com/pkg/brew/asitop/) - Shares av.db curated category or tags: cli, performance, system.
- [b43-fwcutter](https://www.automicvault.com/pkg/brew/b43-fwcutter/) - Shares av.db curated category or tags: cli, linux, system.
- [bluez](https://www.automicvault.com/pkg/brew/bluez/) - Shares av.db curated category or tags: cli, linux, system.
- [btrfs-progs](https://www.automicvault.com/pkg/brew/btrfs-progs/) - Shares av.db curated category or tags: cli, linux, system.
- [cpulimit](https://www.automicvault.com/pkg/brew/cpulimit/) - Local package facts share a topical domain. Shared terms: cli, linux, system.
- [crun](https://www.automicvault.com/pkg/brew/crun/) - Local package facts share a topical domain. Shared terms: cli, linux, system.

## Combined YAML source

View the package source record on GitHub. [combined/numactl.yml](https://github.com/automic-vault/db/blob/main/combined/numactl.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
