NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
Iozone
Contents
About[edit]
IOzone is a filesystem benchmark tool. The benchmark generates and measures a variety of file operations. Iozone has been ported to many machines and runs under many operating systems.
Iozone is useful for performing a broad filesystem analysis of a vendor’s computer platform. The benchmark tests file I/O performance for the following operations:
- Read
- re-read
- Write
- re-write
- read backwards
- read strided
- fread
- fwritte
- random read
- pread
- mmap
- aio_read
- aio_write
In brief, Iozone lets you benchmark your filesystem performance, seeing how well record IO occurs for files of various sizes. Visit Iozone website for more information.
Source Download Location[edit]
- Visit iozone source tarball to download the iozone package.
Cross compiling[edit]
- cd to the directory - iozone_version\src\current, and in this level, run the following command-
- make CC=$(TOOL_CHAIN_PREFIX)-gcc GCC=$(TOOL_CHAIN_PREFIX)-gcc linux-arm
- The TOOL_CHAIN_PREFIX corresponds to the tool chain in use. Set this based on your tool chain. Also make path to toolchain is exported as part of $PATH.
- The CC and GCC variables are pointing to your current tool chain.
- The prefix linux-arm is for compile for arm
- make CC=$(TOOL_CHAIN_PREFIX)-gcc GCC=$(TOOL_CHAIN_PREFIX)-gcc linux-arm
To be sure that iozone is compiled properly, please run: ======file====== iozone You will see something like: $ file iozone iozone: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.6.14, dynamically linked (uses shared libs), not stripped
Test setup[edit]
- EVM booted up with NFS configuration.
- Mount a MMC/SD(formatted with VFAT or ext2) card in the MMC/SD slot of the EVM.
Execution[edit]
- The simplest way to invoke IOzone is using the -a option to select full automatic mode, with the -g option to extend the maximum file size to be twice your system's main memory size - ./iozone -a -g 4G
- You can use the -n option to specify the minimum file size that the automatic mode will use during testing. Normally testing will start with 64KB files and increase the size by doubling it each iteration. Using -n can save some time and generate more targeted benchmarks if you are interested in only larger files that cannot possibly fit into the system buffer caches. You can use the -s option instead of -g to only test files of a specific nominated size. This command will test only using files of 4GB in size and records from 4KB to 256KB in size - iozone -a -s 4G -q 4 -y 256
- Write operation - ./iozone -i0 -S 256K -s 128M -r 5K -w -e
- -i0 means write operation.
- -S 256K means that we are using 256K of cache
- -s 128M means file size. We can put this in kilobytes or megabytes
- -r is the record size(This also can be in Mega bytes)
- -w ensures that the temporary file written is not deleted. This is important as if we issue read operation, the read will look for the same file written and will fail if not present. So use -w while writing.
- -e means/ensures that flush(fsync,fflush) are included in timing calculations.
- Read operation - ./iozone -i1 -S 256K -s 128M -r 5K -w -e
- -i1 means read operation. Rest all options mean the same as above.
- Random read/write - ./iozone -i2 -S 256K -s 1M -r 5K -w -e
- fwrite - ./iozone -i6 -S 256K -s 1M -r 5K -w -e
- fread -./iozone -i7 -S 256K -s 1M -r 5K -w -e
Execution Logs[edit]
Auto Mode File size set to 4096 KB Command line used: iozone -M -a -s 4m Output is in Kbytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 Kbytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride KB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 4096 4 180855 742576 1275252 1130840 1143176 597607 998780 670266 1168616 231962 670815 1071129 1259145 4096 8 247673 809183 1246875 1407083 1351815 711728 1176673 854936 1298668 236817 744321 1233363 1519851 4096 16 251644 851010 1123131 1691931 1668431 716459 1094017 931544 1259145 245622 793337 1110328 1659643 4096 32 253245 871663 1463432 1764719 1808388 757396 1339875 885813 1393197 261107 796112 1128374 1742978 4096 64 254837 862332 1139037 1789405 1585752 779448 1136199 961728 1844214 259684 799687 1124965 1538114 4096 128 250090 868154 1177029 1715966 1700996 771810 1181084 980842 1643659 228405 792569 1003429 1720285 4096 256 242984 791959 950372 718080 930274 826472 694472 708038 913470 223751 566606 698737 918385 4096 512 238696 664406 764459 803304 720492 519335 727660 420102 686557 212735 416768 728695 695534 4096 1024 232926 667198 711975 773266 735896 689562 781828 663857 742297 253183 541297 658732 816912 4096 2048 243548 659167 653899 738807 728048 632684 638304 493137 599707 305011 660858 664180 792569 4096 4096 218417 655142 857449 732729 694826 696717 689098 557278 627643 242913 610705 713588 784073
Download iozone script - File:Iozone script logs.zip