gpt4 book ai didi

c# - 复制大型 (120+GB) 文件时速度变慢

转载 作者:可可西里 更新时间:2023-11-01 10:29:42 28 4
gpt4 key购买 nike

我有一个 C# 应用程序,正在使用 FileStream 类通过千兆局域网从 *EDIT * isilon 存储单元(映射到 z 驱动器)读取一个 120GB 的文件。我从获得 45 兆字节/秒的读取速度开始,但在大约 20GB 的范围内,我的读取速度急剧下降并稳定到大约 9 兆字节/秒。是否有人对可能导致放缓的原因有任何想法?

服务器是 Windows Server 2008 Enterprise R2 64 位、16 GB RAM、双四核 CPU,我的应用程序是 64 位 .NET Framework 4.0 控制台应用程序。这是我的代码:

        byte[] buffer = new byte[16777216];
int count;
long totalBytes = 0;
FileStream file = File.OpenRead("z:\bigfile.dat");
while ((count = file.Read(buffer, 0, buffer.Length)) > 0)
{
// I track megabyte / second here
totalBytes += count;
}

最佳答案

我想知道循环本身是否阻止 GC 收集循环中产生的垃圾。有 a Microsoft KB article描述单线程控制台应用程序的情况。我建议按照文章中的建议将 [MTAThread] 添加到 main 方法。

关于c# - 复制大型 (120+GB) 文件时速度变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3663618/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com