---
name: "memhog"
section: "8"
platform: "linux"
package: "numactl"
version: "2.0.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/memhog"
---

# memhog(8)

Allocates memory with policy for testing

## NAME

memhog - Allocates memory with policy for testing

## SYNOPSIS

**memhog** \[ **-r\<NUM\>** \] \[ **size kmg** \] \[ **policy nodeset** \] \[ **-f\<filename\>** \]

## DESCRIPTION

**memhog** mmaps a memory region for a given size and sets the numa policy (if specified).  It then updates the memory region for the given number of iterations using memset.

| | |
| --- | --- |
| -r\<num\> | Repeat memset NUM times |
| -f\<file\> | Open file for mmap backing |
| -H | Disable transparent hugepages |
| -size | Allocation size in bytes, may have case-insensitive order |
|  | suffix (G=gigabyte, M=megabyte, K=kilobyte) |

Supported numa-policies:

- **interleave**

  Memory will be allocated using round robin on nodes. When memory cannot be allocated on the current interleave, target fall back  to other nodes.  Multiple nodes may be specified.

- **membind**

  Only  allocate  memory  from  nodes. Allocation will fail  when there is not enough memory available on these nodes. Multiple  nodes  may be specified.

- **preferred**

  Preferably allocate memory on node, but if memory cannot be allocated  there  fall  back  to other nodes.  This option takes only a  single node number.

- **default**

  Memory will be allocated on the local node (the node the  thread is running on)

## EXAMPLES

- \# Allocate a 1G region, mmap backed by memhog.mmap file, membind to node 0, repeat test 6 times

  memhog -r6 1G --membind 0 -fmemhog.mmap

- \# Allocate a 1G region, interleave across nodes 0,1,2,3, repeat test 4 times

  memhog -r4 1G --interleave 0-3

- \# Allocate a 1G region, (implicit) default policy, repeat test 8 times

  memhog -r8 1G

## AUTHORS

Andi Kleen (ak@suse.de)

## LICENSE

GPL v2

## SEE ALSO

*[mmap(2)](/mmap/2.md), [memset(3)](/memset/3.md), [numactl(8)](/numactl/8.md), [numastat(8)](/numastat/8.md)*
