Windows NT 4.0 で 大量のファイルがあるとファイルの保存が遅くなる

この記事は、以前は次の ID で公開されていました: JP221124
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
現象
構造化記憶域のファイルのサイズが大きくなるにつれて、ファイルを保存するのに予想以上に時間がかかります。

開発者の観点から、次に示す内容は、おそらく開発者自身のコードで発生しているものです。
STGM_TRANSACTED モードでルート記憶域を作成します。STGM_DIRECT のルートで単一のサブ記憶域を作成します。ある程度の回数 (たとえば 3,000 回) ループさせます。新しいストリームを作成します。一定量のデータ (たとえば 150 KB) をストリームに書き込みます。ループ中、200 回ごとにルートをコミットします。ストリームを解放します。ループの開始点に戻ります。
ファイルが大きくなるにつれて、ルートでのコミットは非常に遅くなります。2,800 の 150 KB のストリームが書き込まれた後、最後の 200 ストリームについてはルートでのコミットに約 16 分かかります。コミット操作中に、100 パーセントの CPU が消費されていて、ディスク アクティビティは何も発生しません。大量のディスク アクティビティが発生するのは、コミットが返される前だけです。
解決方法

Windows NT 4.0

この問題を解決するためのモジュールは、Windows NT 4.0 日本語版 Service Pack 5 以降に含まれております。Windows NT 4.0 日本語版の最新 Service Pack については、以下 Web サイトから入手できます。
状況
マイクロソフトでは、これが Windows NT 4.0 にかかわる問題であることを確認済みです。この問題は Windows NT Version 4.0 Service Pack 5 で修正済みです。
詳細
以下のように、この関数に対して使用される 2 つの固定したコードされた値が追加されました。
Define MaxPages 24 to 128
Define MaxPagesScratch 3 to 16
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 221124 (最終更新日 2000-11-15) を基に作成したものです。

4.00
プロパティ

文書番号:221124 - 最終更新日: 01/07/2015 09:35:26 - リビジョン: 2.1

Microsoft Windows NT 4.0 Service Pack 4, Microsoft Windows NT Workstation 4.0 Developer Edition

  • kbnosurvey kbarchive kbbug kbfix kbwinnt400sp5fix KB221124
フィードバック