/KDiskMark

A simple open-source disk benchmark tool for Linux distros

Primary LanguageC++GNU General Public License v3.0GPL-3.0

KDiskMark

License: GPL v3 GitHub (pre-)release Build Status Codacy Badge

KDiskMark is an HDD and SSD benchmark tool with a very friendly graphical user interface. KDiskMark with its presets and powerful GUI calls Flexible I/O Tester and handles the output to provide an easy to view and interpret comprehensive benchmark result.

Features

  • Configurable block size, queues, and threads count for each test
  • Many languages support
  • Report generation

Report Example

                     KDiskMark (1.6.0): https://github.com/JonMagon/KDiskMark
                 Flexible I/O Tester (fio-3.16): https://github.com/axboe/fio
-----------------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

[Read]
Sequential 1 MiB (Q= 8, T= 1):   542.516 MB/s [    529.8 IOPS] < 14415.61 us>
Sequential 1 MiB (Q= 1, T= 1):   452.596 MB/s [    442.0 IOPS] <  2248.08 us>
    Random 4 KiB (Q=32, T=16):   271.553 MB/s [  67889.0 IOPS] <  1955.57 us>
    Random 4 KiB (Q= 1, T= 1):    43.252 MB/s [  10813.1 IOPS] <    90.34 us>

[Write]
Sequential 1 MiB (Q= 8, T= 1):   513.605 MB/s [    501.6 IOPS] < 15319.33 us>
Sequential 1 MiB (Q= 1, T= 1):   428.900 MB/s [    418.8 IOPS] <  2369.68 us>
    Random 4 KiB (Q=32, T=16):   165.142 MB/s [  41286.6 IOPS] <  3091.38 us>
    Random 4 KiB (Q= 1, T= 1):   103.696 MB/s [  25924.1 IOPS] <    36.71 us>

Profile: Default
   Test: 32 MiB (x5) [Interval: 5 sec]
   Date: 2020/09/05 18:31:47
     OS: neon 20.04 [linux 5.4.0-42-generic]

Dependencies

Build

Runtime

  • Qt with Widgets >= 5.9
  • Flexible I/O Tester with libaio >= 3.1
    • If you build FIO from source, install libaio-dev package.

Installation

Binaries are available on the Releases page.

Install from the Snap Store

Get it from the Snap Store

sudo snap install kdiskmark
sudo snap connect kdiskmark:mount-observe
sudo snap connect kdiskmark:hardware-observe

Ubuntu based distros

sudo add-apt-repository ppa:jonmagon/kdiskmark
sudo apt update
sudo apt install kdiskmark

Arch based distros

KDiskMark is included in the official community repo. You can install it like any other package:

sudo pacman -Syu kdiskmark

Development version can be installed from AUR kdiskmark-git package.

git clone https://aur.archlinux.org/kdiskmark-git.git
cd kdiskmark-git
makepkg -si

Fedora

KDiskMark is included in the official Fedora repo. You can install it like any other package:

sudo dnf install kdiskmark

Building

Building executable

You can build KDiskMark by using the following commands:

mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release ..
cmake --build .

Localization Crowdin

To help with localization you can use Crowdin or translate files in data/translations with Qt Linguist directly. To add a new language, copy data/translations/kdiskmark.ts to data/translations/kdiskmark_<ISO 639-1 language code>_<ISO 3166-1 alpha-2 language code>.ts, translate it, then add the file to the TS_FILES variable in CMakeLists.txt, and create a pull request. It is also possible to add localized Comment and Keywords sections into data/kdiskmark.desktop.

Languages currently available:

  • Chinese (Simplified)
  • Czech
  • English (default)
  • French
  • German
  • Italian
  • Portuguese (Brazilian)
  • Russian
  • Slovak
  • Spanish (Mexico)

TODO

  • Windows compatibility
  • Performance profiles (mix, peak, real-world)

Credits

Application Icon
Copyright (c) https://www.iconfinder.com/baitisstudio

If you have any ideas, critics, suggestions or whatever you want to call it, please open an issue.