Hands-on raw disk I/O measurements with the dd tool to get a quick view of write and read performance. 16.11.2025 | reading time: 3 min Disk benchmarking need not be mysterious: dd is the built‑in, byte‑level tool that lets a Linux user write or read large blobs and observe throughput; this page shows concrete commands, real sample output and explains how to interpret the numbers so you can compare devices quickly. Quick lab: write test Create a 1 GiB test file using direct I/O and flush to disk, then read it back; run the command and compare the two results: ```bash dd if=/dev/zero of=./testfile bs=1M count=1024 oflag=direct conv=fdatasync status=progress ``` Sample output might look like: ```text 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.34 s, 458 MB/s ``` Now read the file back to measure sequential read: ```bash dd if=./testfile of=/dev/null bs=1M status=progress ``` Sample read output: ```text 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.95 s, 1.1 GB/s ``` Tune flags and block sizes Try different block sizes and flags and watch what changes; `bs` controls syscall frequency, `oflag=direct` avoids page cache, `conv=fdatasync` forces data to reach the device, `status=progress` shows live progress, and `oflag=dsync` or `conv=fsync` produce stronger durability guarantees at the cost of speed; a 1M block size usually gives stable throughput numbers, while tiny blocks exaggerate CPU and latency effects. Warnings and realistic use dd can be destructive: writing to a raw device such as `/dev/sdX` will erase data and likely break a system if used incorrectly, so prefer testing with files on the target filesystem or unmounted devices and run device tests as root when necessary; remember caching can inflate write numbers so use `oflag=direct` or unmount the filesystem for honest device numbers, and avoid using very large repeated tests on SSDs when concerned about wear. Where dd fits in a toolkit dd is great for quick, low‑dependency checks and for creating test files, but for more realistic or complex benchmarks use workload-aware tools that can model random I/O, mixed reads/writes, and queue depths; below are those alternatives and when to reach for them. Next steps and study path You now have commands to produce and interpret raw dd numbers and a checklist of flags to get repeatable results; explore fio for advanced workloads, compare results with hdparm and iostat, and consider practising these topics for certification — pursue CompTIA Linux+ or LPIC-1 and use bitsandbytes.academy for intensive exam preparation to deepen system-level knowledge. Join Bits & Bytes Academy First class LINUX exam preparation. storage utilities troubleshooting infrastructure