iozone 移植

转载时请表明原文出处( http://blog.sina.com.cn/wyw1976 )及作者邮箱( [email protected] )

 

编译

1. download source codes from http://www.iozone.org/ : iozone3_323.rar

2. modify the makefile for arm-linux:

    CC=arm-linux-gcc

    GCC=arm-linux-gcc

3. make linux-arm

 

4. 编译成功, 生成可执行文件iozone。

 

使用:

./iozone -a -b result.wks [结果保存在result.wks中,这是一个EXCEL格式的文件]

./iozone -a -g 1m -b result.wks [限制文件最大为1M]

如果要用IOZone 测量storage card 的性能,只需将iozone拷贝到storage card上运行即可。

 

在copy的开发板上运行时报错

error while loading shared libraries:原来是缺少共享库,然而开发板上并没有在制作文件系统时添加ldd 这条命令,找这个源码又一时找不到,于是重新编译了一个在pc机版本的iozone,在虚拟机里查看ldd iozone,找到所需要的共享库,copy到开发板即可。

 

 

 

经验:

在测NAND Flash的性能是,我们发现NAND的读写速度可达200MB/sec, 这显然是不对的,后来经过修改运行时的参数,终于得到了合理的数值, 具体参数如下:
./iozone -Raz -b out.wks -S 32 -g 64M -+r

具体参数说明如下: 

-R: 产生EXCEL格式的数据

-a: 自动运行模式

-z: 测量所有大小的record,如果不指定,则IOzone将忽略小size的record当文件尺寸等于或大于32MB时。

-S: 指定process cache的大小,这里值得是Dcache.

-g: 指定最大文件是64MB, 缺省是512MB, 太耗时了。

-+r: 这是真正影响最终结果的参数,它是IOzone在打开文件时的flag中包含O_RSYNC与O_SYNC,即同步读和同步写,保证数据真正写到硬件上及真正从硬件上读数据。

 

 

fileop:

  IOzone 中自带的一个测量文件系统性能的小工具,包括mkdir, rmdir, create, read, write, readdir, link,unlink, delete等。

 

read 与fread的区别:

>>fread是带缓冲的,read不带缓冲,因此fread, fwrite的性能应该比read, write好, 事实也确实如此
>>fopen是标准c里定义的,open是POSIX中定义的.
>>fread可以读一个结构.read在linux/unix中读二进制与普通文件没有区别.
>>fopen不能指定要创建文件的权限.open可以指定权限.
>>fopen返回指针,open返回文件描述符(整数).
>>linux/unix中任何设备都是文件,都可以用open,read.

你可能感兴趣的:(虚拟机,Excel,Flash,delete,download,makefile)