1

Linux Fedora Core 11ボックスでPHP スクリプトを使用すると、いくつかのパフォーマンスの問題が発生することがわかったので、いくつかのコマンドを実行してボトルネックを探していました。私が気づいたことの 1 つは、ファイルの書き込みが非常に高速であることです。

[root@localhost ~]# dd if=/dev/zero of=/root/myGfile bs=1024K count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 1.0817 s, 969 MB/s

ただし、上書きにははるかに時間がかかります。

[root@localhost ~]# dd if=/dev/zero of=/root/myGfile bs=1024K count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 23.0658 s, 45.5 MB/s

何故ですか?(これらの結果を繰り返すことができます。)

4

1 に答える 1

0

ファイルを初めて書き込むと、システム メモリにバッファリングされます。

2 回目にファイルを書き込むと、ファイルが切り詰められ、何らかの理由ですべてのダーティ ページがディスクに書き出されます。はい、これはばかげているように思えます。ファイルの長さがゼロに切り捨てられたときに、なぜファイル データを書き出すのでしょうか。

ddこれは、たとえば 4k のデータのみを2 番目に書き込むことで実証できます。同じくらい時間がかかります。

を使用して強制的ddに切り捨てないようにすることもできconv=notruncます。

于 2010-02-02T15:59:53.997 に答える