---
name: "fs_mark"
section: "1"
platform: "linux"
package: "fsmark"
version: "3.3-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/fs_mark"
---

# fs\_mark(1)

Benchmark synchronous/async file creation

## NAME

fs\_mark - Benchmark synchronous/async file creation

## SYNOPSIS

**fs\_mark** \[*OPTIONS*\] -d *DIRECTORY* \[-d *DIRECTORY* ...\]

## DESCRIPTION

**fs\_mark** is meant to give some low level bashing to file systems. The write pattern that it concentrates on is heavily synchronous IO across multiple directories, drives, etc.

## OPTIONS

- **-h**

  Print usage and exit.

- **-k**

  Keep files after each iteration.

- **-F**

  Run until filesystem is full.

- **-S***Syncmethod*

  Method to be used for synchronizing changes to disk:

-

  0: No Sync

-

  1: fsyncBeforeClose

-

  2: sync/1\_fsync

-

  3: PostReverseFsync

-

  4: syncPostReverseFsync

-

  5: PostFsync

-

  6: syncPostFsync

- **-D***number*

  Use *number* subdirectories.

- **-N***number*

  Use *number* files in each subdirectory in round robin mode.

- **-d***directory*

  Use *directory*. Can be specified multiple times.

- **-l***logfile*

  Log to *logfile*.

- **-L***number*

  Repeat the benchmark *number* of iterations.

- **-n***number*

  Use *number* of files per iteration.

- **-p***number*

  Use *number* of total bytes file names.

- **-r***number*

  Use *number* of random bytes in file names.

- **-s***byte\_count*

  Use *number* of bytes as size of each file.

- **-t***number*

  Use *number* of threads.

- **-w***number*

  Use *number* (of bytes per write() syscall.

## AUTHORS

**fs\_mark** was written by Ric Wheeler \<ric@redhat.com\>.

This manual page was written by Martin Steigerwald \<ms@teamix.de\>, for the Debian project (but may be used by others).
