瀏覽代碼

Update computer-testing.md

Håvard O. Nordstrand 4 年之前
父節點
當前提交
1eb6c69509
共有 1 個文件被更改,包括 26 次插入4 次删除
  1. 26 4
      config/general/computer-testing.md

+ 26 - 4
config/general/computer-testing.md

@@ -22,20 +22,42 @@ breadcrumbs:
 
 
 ## RAM
 ## RAM
 
 
-### MemTest86
+### MemTest86 (Standalone)
 
 
 - For health error testing.
 - For health error testing.
-- Standalone/bootable.
 - Install: [Download](https://www.memtest86.com/download.htm)
 - Install: [Download](https://www.memtest86.com/download.htm)
     - Use v4 for systems without UEFI support.
     - Use v4 for systems without UEFI support.
 - Not the same as Memtest86+. Memtest86+ is an old fork of Memtest86.
 - Not the same as Memtest86+. Memtest86+ is an old fork of Memtest86.
 
 
 ## Storage
 ## Storage
 
 
-### smartmontools
+### Fio (Linux)
+
+- "Flexible I/O tester".
+- For file-based disk benchmarking.
+- Install (Debian): `apt install fio`
+- Usage:
+    - Add `--fsync=1` for synchronous IO.
+    - Add `--time_based --runtime=<seconds>` to repeat the test for the provided duration.
+    - Note that write performance may sharply degrade after a while when the hardware write cache(s) fill up, so make sure the tests are run for long enough.
+    - Examples: See below.
+
+Usage examples:
+
+```sh
+# Sequential, asynchronous, 4kiB, random write
+fio --name=random-write --ioengine=posixaio --rw=randwrite --bs=4k --size=4g --numjobs=1 --iodepth=1 --runtime=60 --time_based --end_fsync=1
+
+# 16 parallel, asynchronous, 64kiB, random write
+fio --name=random-write --ioengine=posixaio --rw=randwrite --bs=64k --size=256m --numjobs=16 --iodepth=16 --runtime=60 --time_based --end_fsync=1
+
+# Sequential, asynchronous, 1MiB, random write
+fio --name=random-write --ioengine=posixaio --rw=randwrite --bs=1m --size=16g --numjobs=1 --iodepth=1 --runtime=60 --time_based --end_fsync=1
+```
+
+### smartmontools (Linux)
 
 
 - For health testing.
 - For health testing.
-- For Linux.
 - See [smartmontools](../../linux-general/applications/#smartmontools).
 - See [smartmontools](../../linux-general/applications/#smartmontools).
 
 
 {% include footer.md %}
 {% include footer.md %}