# rpk iotune

> For the complete documentation index, see [llms.txt](https://docs.redpanda.com/llms.txt). Component-specific: [streaming-full.txt](https://docs.redpanda.com/streaming-full.txt)

---
title: rpk iotune
latest-redpanda-tag: v26.1.9
latest-console-tag: v3.7.3
latest-operator-version: v26.1.4
# EOL = End-of-Life (support lifecycle status)
page-is-nearing-eol: "false"
page-is-past-eol: "false"
page-eol-date: March 31, 2027
latest-connect-version: 4.93.0
docname: rpk/rpk-iotune
page-component-name: streaming
page-version: "26.1"
page-component-version: "26.1"
page-component-title: Streaming
page-relative-src-path: rpk/rpk-iotune.adoc
page-edit-url: https://github.com/redpanda-data/docs/edit/main/modules/reference/pages/rpk/rpk-iotune.adoc
description: This command measures the I/O performance of the hardware used by a Redpanda instance.
page-git-created-date: "2023-05-17"
page-git-modified-date: "2025-12-12"
support-status: supported
---

<!-- Source: https://docs.redpanda.com/streaming/current/reference/rpk/rpk-iotune.md -->

> ❗ **IMPORTANT**
>
> This command is not supported on Darwin, macOS, Windows.

`rpk iotune` measures the I/O performance of the hardware used by a Redpanda instance. It writes its parameters to an I/O configuration file that Redpanda reads on startup to optimize its I/O performance. Its benchmarks measure read/write IOPS and bandwidth.

By default `rpk iotune` writes its output parameters to `/etc/redpanda/io-config.yaml`.

## [](#usage)Usage

```bash
rpk iotune [flags]
```

## [](#flags)Flags

| Value | Type | Description |
| --- | --- | --- |
| --directories | strings | List of directories to evaluate. |
| --duration | duration | Duration of tests. The value passed is a sequence of decimal numbers, each with optional fraction and a unit suffix, such as 300ms, 1.5s or 2h45m. Valid time units are ns, us (or µs), ms, s, m, h (default 10m0s). |
| -h, --help | - | Help for iotune. |
| --iotune-path | string | Path to the iotune executable (default: iotune-redpanda). |
| --no-confirm | - | Disable confirmation prompt if the iotune file already exists. |
| --out | string | The file path where the IO config will be written (default "/etc/redpanda/io-config.yaml"). |
| --timeout | duration | The maximum time after — to wait for iotune to complete (for example, 300ms, 1.5s, 2h45m). Default 1h0m0s. |
| --config | string | Redpanda or rpk config file; default search paths are /var/lib/redpanda/.config/rpk/rpk.yaml, $PWD/redpanda.yaml, and /etc/redpanda/redpanda.yaml. |
| -X, --config-opt | stringArray | Override rpk configuration settings. See rpk -X or execute rpk -X help for inline detail or rpk -X list for terser detail. |
| --profile | string | Profile to use. See rpk profile for more details. |
| -v, --verbose | - | Enable verbose logging. |

### [](#example-output)Example output

Running `rpk iotune` produces an output file that by default is saved in `/etc/redpanda/io-config.yaml`.

The contents of an example `io-config.yaml`:

```yaml
disks:
- mountpoint: /var/lib/redpanda/data
  read_iops: 40952
  read_bandwidth: 5638210048
  write_iops: 6685
  write_bandwidth: 1491679488
```

### [](#related-topics)Related topics

-   [Optimize I/O](https://docs.redpanda.com/streaming/current/manage/io-optimization/)