memhog - Man Page
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