相关疑难解决方法(0)

.NET Out of Memory异常 - 使用1.3GB但安装了16GB

当应用程序的内存使用量超过1.3GB时,我的c#应用程序中出现Out Of Memory异常.

我在具有3GB内存的32位机器上遇到了同样的问题,当时它是有道理的,但现在我将硬件升级到具有16GB内存的64位机器,高端主板和RAM但内存不足1.3GB之后仍然会发生异常!

我知道没有超过2GB的单个对象,而且无论如何1.3都不到2GB,因此单个对象的内置MS 2GB限制不太可能是问题...

当应用程序达到某个内存使用阈值时,似乎有某种类型的Windows kill-switch ...那么应该有一种方法可以在注册表中配置它吗?

任何帮助将不胜感激!

c# out-of-memory

83
推荐指数
3
解决办法
12万
查看次数

优化List <string>

我对C#有点新意,我遇到了性能问题.在我的程序中,人们导入一个.txt列表,程序会从中列出一个列表; 问题是它消耗了太多内存,导致PC内存不足而崩溃.我想过使用'yield'而没有成功.有任何想法吗?

private List<string> ImportList()
{
    try
    {
        using (var ofd = new OpenFileDialog() { Filter = "Text files (*.txt) | *.txt" })
        {
            if (ofd.ShowDialog() == DialogResult.OK)
            {
               return File.ReadAllLines(ofd.FileName).ToList();
            }
        }

        return null;
    }
    catch(OutOfMemoryException ex)
    {
        MessageBox.Show("The list is too large. Try using a smaller list or dividing it.", "Warning!");
        return null;

    }
}
Run Code Online (Sandbox Code Playgroud)

c# arrays list

0
推荐指数
1
解决办法
162
查看次数

C#在超过300万行的txt文件中搜索

我有几个txt文件,每个文件包含超过300万行。每行包含客户的连接,其中有客户 ID、IP 地址......

我需要找到特定的 IP 地址并获取与其相关的客户 ID。

我读取该文件并将其拆分为一个数组,并通过 foreach 在每一行中进行搜索,但由于有很多行,因此出现以下错误。

引发了“System.OutOfMemoryException”类型的异常。

我应该解压缩 txt 文件,因为它们是压缩的。我使用下面的代码:

string decompressTxt = decompressTxt = this.Decompress(new FileInfo(filePath));
char[] delRow = { '\n' };
string[] rows = decompressTxt.Split(delRow);
for (int i = 0; i < rows.Length; i++){
   if(rows[i].Contains(ip)){
    
   }
}

string Decompress(FileInfo fileToDecompress)
{
   string newFileName = "";
   string newFIleText = "";
   using (FileStream originalFileStream =fileToDecompress.OpenRead())
   {
        string currentFileName = fileToDecompress.FullName;
        newFileName = currentFileName.Remove(currentFileName.Length - fileToDecompress.Extension.Length);
    
        using (FileStream decompressedFileStream = File.Create(newFileName))
        {
               using (GZipStream decompressionStream = new …
Run Code Online (Sandbox Code Playgroud)

c# out-of-memory memory-efficient

-1
推荐指数
1
解决办法
103
查看次数

标签 统计

c# ×3

out-of-memory ×2

arrays ×1

list ×1

memory-efficient ×1