liu.li Reply:
June 13th, 2013 at 11:28 am
运行fio -debug=all后出现以下信息,但不明白什么意思,貌似相应的包我也安装了~
fio: set all debug options
parse 32147 free options
time 32147 cycles[0]=2666
time 32147 cycles[1]=2665
time 32147 cycles[2]=2666
time 32147 cycles[3]=2666
time 32147 cycles[4]=2666
time 32147 cycles[5]=2666
time 32147 cycles[6]=2666
time 32147 cycles[7]=2666
time 32147 cycles[8]=2666
time 32147 cycles[9]=2666
time 32147 cycles[10]=2666
time 32147 cycles[11]=2666
time 32147 cycles[12]=2666
time 32147 cycles[13]=2666
time 32147 cycles[14]=2666
time 32147 cycles[15]=2666
time 32147 cycles[16]=2666
time 32147 cycles[17]=2666
time 32147 cycles[18]=2666
time 32147 cycles[19]=2666
time 32147 cycles[20]=2666
time 32147 cycles[21]=2666
time 32147 cycles[22]=2666
time 32147 cycles[23]=2666
time 32147 cycles[24]=2666
time 32147 cycles[25]=2666
time 32147 cycles[26]=2666
time 32147 cycles[27]=2666
time 32147 cycles[28]=2666
time 32147 cycles[29]=2666
time 32147 cycles[30]=2666
time 32147 cycles[31]=2666
time 32147 cycles[32]=2666
time 32147 cycles[33]=2666
time 32147 cycles[34]=2666
time 32147 cycles[35]=2666
time 32147 cycles[36]=2666
time 32147 cycles[37]=2666
time 32147 cycles[38]=2666
time 32147 cycles[39]=2666
time 32147 cycles[40]=2666
time 32147 cycles[41]=2666
time 32147 cycles[42]=2666
time 32147 cycles[43]=2666
time 32147 cycles[44]=2666
time 32147 cycles[45]=2666
time 32147 cycles[46]=2666
time 32147 cycles[47]=2666
time 32147 cycles[48]=2666
time 32147 cycles[49]=2666
time 32147 avg: 2667
time 32147 mean=2666.650000, S=0.035743
time 32147 inv_cycles_per_usec=6290
io 32147 ioengine cpuio unregistered
io 32147 ioengine mmap unregistered
io 32147 ioengine sync unregistered
io 32147 ioengine psync unregistered
io 32147 ioengine vsync unregistered
io 32147 ioengine null unregistered
io 32147 ioengine net unregistered
io 32147 ioengine netsplice unregistered
io 32147 ioengine libaio unregistered
io 32147 ioengine posixaio unregistered
io 32147 ioengine falloc unregistered
io 32147 ioengine e4defrag unregistered
io 32147 ioengine splice unregistered
io 32147 ioengine sg unregistered
io 32147 ioengine binject unregistered
profile 32147 unregister profile ‘tiobench’
liu.li Reply:
June 13th, 2013 at 1:59 pm
可以了,在job文件里添加了ioengine=mmap。调用的,好像还行,但是关于这些engine,具体代表啥意思,请霸爷给明示啊~感谢~
June 13th, 2013 at 4:32 pm
ioengine=str
Defines how the job issues I/O. The following types are defined:
sync
Basic read(2) or write(2) I/O. fseek(2) is used to position the I/O location.
psync
Basic pread(2) or pwrite(2) I/O.
vsync
Basic readv(2) or writev(2) I/O. Will emulate queuing by coalescing adjacents IOs into a single submission.
libaio
Linux native asynchronous I/O. This ioengine defines engine specific options.
posixaio
POSIX asynchronous I/O using aio_read(3) and aio_write(3).
solarisaio
Solaris native asynchronous I/O.
windowsaio
Windows native asynchronous I/O.
mmap
File is memory mapped with mmap(2) and data copied using memcpy(3).
splice
splice(2) is used to transfer the data and vmsplice(2) to transfer data from user-space to the kernel.
syslet-rw
Use the syslet system calls to make regular read/write asynchronous.
sg
SCSI generic sg v3 I/O. May be either synchronous using the SG_IO ioctl, or if the target is an sg character device, we use read(2) and write(2) for asynchronous I/O.
null
Doesn’t transfer any data, just pretends to. Mainly used to exercise fio itself and for debugging and testing purposes.
net
Transfer over the network. The protocol to be used can be defined with the protocol parameter. Depending on the protocol, filename, hostname, port, or listen must be specified. This ioengine defines engine specific options.
netsplice
Like net, but uses splice(2) and vmsplice(2) to map data and send/receive. This ioengine defines engine specific options.
cpuio
Doesn’t transfer any data, but burns CPU cycles according to cpuload and cpucycles parameters.
guasi
The GUASI I/O engine is the Generic Userspace Asynchronous Syscall Interface approach to asycnronous I/O.
rdma
The RDMA I/O engine supports both RDMA memory semantics (RDMA_WRITE/RDMA_READ) and channel semantics (Send/Recv) for the InfiniBand, RoCE and iWARP protocols.
external
Loads an external I/O engine object file. Append the engine filename as ‘:enginepath’.
falloc
IO engine that does regular linux native fallocate callt to simulate data transfer as fio ioengine
DDIR_READ does fallocate(,mode = FALLOC_FL_KEEP_SIZE,)
DIR_WRITE does fallocate(,mode = 0)
DDIR_TRIM does fallocate(,mode = FALLOC_FL_KEEP_SIZE|FALLOC_FL_PUNCH_HOLE)
e4defrag
IO engine that does regular EXT4_IOC_MOVE_EXT ioctls to simulate defragment activity request to DDIR_WRITE event