---
name: "memconfig"
section: "8"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["openbsd"]
url: "https://new.carta.tech/memconfig"
---

# memconfig(8)

control system cache behaviour with respect to memory

## NAME

**memconfig** – control system cache behaviour with respect to memory

## SYNOPSIS

**memconfig** *list* \[**-a**\]

**memconfig** *set* **-b** *base* **-l** *length* **-o** *owner* *attribute*

**memconfig** *clear* **-o** *owner*

**memconfig** *clear* **-b** *base* **-l** *length*

## DESCRIPTION

A number of supported system architectures allow the behaviour of the CPU cache to be programmed to behave differently depending on the region being written.

**memconfig** provides an interface to this facility, allowing CPU cache behavior to be altered for ranges of system physical memory.

These ranges are typically power-of-2 aligned and sized, however the specific rules governing their layout vary between architectures. The **memconfig** program does not attempt to enforce these rules, however the system will reject any attempt to set an illegal combination.

The operands and their options are as follows:

- *list*

  List range slots.

  - **-a**

    List all range slots, even those that are inactive.

- *set*

  Set memory range attributes.

  - **-b** *base*

    Memory range base address.

  - **-l** *length*

    Length of memory range in bytes, power of 2.

  - **-o** *owner*

    Text identifier for this setting (7 char max).

  - *attribute*

    Attributes applied to this range; combinations of *force*, *uncacheable*, *write-combine*, *write-through*, *write-back*, or *write-protect*.

- *clear*

  Clear memory range attributes. Ranges may be cleared by owner or by base/length combination.

  To clear based on ownership:

  - **-o** *owner*

    All ranges with this owner will be cleared.

    To clear based on the base/length combination:

    - **-b** *base*

      Memory range base address.

    - **-l** *length*

      Length of memory range in bytes, power of 2.

      Base and length must exactly match an existing range.

## SEE ALSO

[mtrr(4)](/mtrr/4.md)

## HISTORY

**memconfig** was originally introduced in FreeBSD 3.3 as **memcontrol**.
