GNU时间(1)报告错误的I / O数

时间:2012-05-23 14:33:26

标签: python time gnu

在fedora 16上,在一个小程序上运行时间(1),该程序只对文件进行10次10​​24字节写入,报告“24个输出”。我期待I / O计数为10.注意,如果我在程序上运行strace,我可以看到10个write()调用。 那么时间(1)报告的I / O数是多少? 非常感谢

#!/usr/bin/python

import os
import pdb

SIZE_IO=1024
IONB=10

def test1(file):
    #pdb.set_trace()
    buffer= '\x01' * SIZE_IO
    fd = os.open(file, os.O_CREAT|os.O_RDWR, 0777)
    for ix in range(IONB):
        len = os.write(fd, buffer)
        print len
    os.close(fd)
    return 1

if name__== "__main":
    test1("ttt.txt")
    print 'ok'

2 个答案:

答案 0 :(得分:2)

是不是每个印刷品都会导致写入?

答案 1 :(得分:0)

摘自time(1)联机帮助页中的 ACCURACY 部分:

  

'%I'和'%O'值据称只是'真正的'输入和输出   并且不包括缓存设备提供的那些。意思   '%I'和'%O'报告的'真实'I / O可能会混淆工作站,   特别是无盘的。