我正在將2MB塊中的〜280MB數據寫入FileStream。FileStream.Write在SSD上長時間阻塞
在一臺機器上,這在8秒內完成。在我的機器上(具有類似的規格,SSD等),我一直在試圖調試爲什麼需要超過40秒,並且他們正在進行中暫停。
我從硬件設備返回數據時寫入數據,但我發現有時在流上調用Write可能需要很長時間才能返回。我打電話給所有的寫操作之間沖洗:
Stopwatch stopwatch = Stopwatch.StartNew();
_stream.Write(buffer, 0, buffer.Length);
stopwatch.Stop();
Console.WriteLine("_stream.Write() " + stopwatch.ElapsedMilliseconds + "ms");
_stream.Flush();
輸出:
_stream.Write() 2ms
_stream.Write() 2ms
_stream.Write() 2ms
... snip
_stream.Write() 2ms
_stream.Write() 2ms
_stream.Write() 2ms
_stream.Write() 2ms
_stream.Write() 23233ms <- not expecting this
_stream.Write() 2ms
_stream.Write() 2ms
_stream.Write() 0ms
... snip
_stream.Write() 2ms
_stream.Write() 2ms
_stream.Write() 15852ms <- or this
_stream.Write() 2ms
_stream.Write() 2ms
_stream.Write() 2ms
... snip
_stream.Write() 2ms
_stream.Write() 25ms
_stream.Write() 2ms
_stream.Write() 2ms
這不是我所期望的
事件查看器中的任何錯誤?對我來說似乎是硬件問題。 – MiMo 2013-02-08 14:10:08
我將不得不第二次MiMo的評論。聽起來像是一個硬件問題。 – JosephHirn 2013-02-08 14:15:45
完整的文件系統緩存很容易解釋這一點。購買更多的RAM。 – 2013-02-08 14:43:21