Здравствуйте, tapatoon, Вы писали:
T>Пишу в файл данные несколько гигабайт. Пишу небольшими порциями по нескольку байт
T>T>using (var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite))
T>{
T> var bw = new BinaryWriter(fileStream);
T> while (byte[] data = get_data())
T> {
T> bw.Write(data);
T> }
T>}
T>
Обратите внимание на то, что у вас здесь нет ни Dispose, ни flush для bw. Возможно, в момент fileStream.Dispose bw ещё не все данные переложены из его внутреннего буфера в стрим.
T>Файл растёт максимум до 100Мб, дальше рост прекращается. В дебаге размер стрима в это время больше гигабайта. Где остальное? В свопе чтоль?
Я бы поставил на отставание обновления атрибутов файла. ФС не обязана обновлять их до того, как файл закроется.