0

Fedora 16 で、ファイルに 1024 バイトの書き込みを 10 回だけ行う小さなプログラムで time(1) を実行すると、「24 出力」と報告されます。I/O カウントが 10 になると予想していました。プログラムで strace を実行すると、10 個の write() 呼び出しが表示されることに注意してください。では、time(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'
4

2 に答える 2

2

各印刷も書き込みを引き起こすのではないでしょうか?

于 2012-05-23T15:06:18.913 に答える
0

マンページの精度セクションからの抜粋time(1)

'%I'および'%O'の値は、'実際の'入力および出力のみであり、キャッシングデバイスによって提供される値は含まれていません。'%I'および'%O'によって報告される'実際の'I / Oの意味は、ワークステーション、特にディスクレスのものでは混乱する可能性があります。

于 2012-05-23T16:00:10.390 に答える