抑制 C# 垃圾回收

2024-04-21

我的应用程序分配大量内存(数百万个小对象,总计几千兆字节)并保留很长时间。

  1. .NET 是否浪费时间检查所有这些数据来对其进行 GC?
  2. 第 2 代 GC(检查所有对象的 GC)多久发生一次?
  3. 有什么办法可以降低它的发生频率或者暂时抑制它的发生吗?
  4. 我确切地知道何时准备好收集大量内存,有什么方法可以对此进行优化吗?我目前正在调用 GC.Collect(); GC.WaitForPendingFinalizers();当时。

更新: 性能计数器“% Time in GC”显示平均值为 10.6%。


除非您可以确认垃圾收集器正在主动降低应用程序的性能,否则您不应采取措施削弱运行时环境的功能。

从你的问题来看,你还没有确认是GC的问题。我严重怀疑确实如此。

仅优化需要优化的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

抑制 C# 垃圾回收 的相关文章

  • 删除文件的最后 10 个字符

    我想删除文件的最后 10 个字符 说一个字符串 hello i am a c learner 是文件内的数据 我只是希望该文件是 hello i am a 文件的最后 10 个字符 即字符串 c learner 应在文件内消除 解决方案 将
  • WPF DataGrid 多选

    我读过几篇关于这个主题的文章 但很多都是来自 VS 或框架的早期版本 我想做的是从 dataGrid 中选择多行并将这些行返回到绑定的可观察集合中 我尝试创建一个属性 类型 并将其添加到可观察集合中 它适用于单个记录 但代码永远不会触发多个
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 垃圾收集最佳实践

    如果您要从显示列表中删除某个 MovieClip 并且该 MovieClip 又具有具有自己的事件侦听器的子 MovieClip 则是否有必要从子 MovieClip 中删除所有侦听器 或者只是直接从显示列表中删除的父级 MovieClip
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • c# LOESS/LOWESS 回归 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 您知道执行 LOESS LOWESS 回归的 net 库吗 最好是免费 开源 端口来自java htt
  • 从 Symfony2 中的实体和存储库登录的正确方法

    在 symfony2 架构中记录来自实体或存储库类的消息或错误的方法是什么 在 symfony1 中 您可以使用单例来杀死小狗 方法是执行以下操作以从任何地方获取记录器 sfContext getInstance gt getLogger
  • 如何在 Vapor 3/Fluent 中记录 SQL 语句?

    看起来在 Vapor 2 中你可以这样做 let query
  • 更改组织模式新一天开始的时间

    我使用组织模式来计时我的工作 有时我会工作几个小时到午夜 例如 我记录的时间从 2013 年 6 月 3 日晚上 10 点开始 到 2013 年 6 月 4 日凌晨 2 点结束 组织模式在凌晨 0 点进行划分 开始新的一天 但如果将 0am
  • Excel创建乘法条件排名

    我试图在此图表中进行有条件排名 On the right you can see the total score and ranking from the Match 1 2 3 sum on line A and C I have a t
  • 使用 Twitter Bootstrap 的水平形式内的普通(垂直)形式

    我想要一个在第一层具有水平布局的表单 但是在一行内可以有一个 内联 表单 我想要一个垂直 默认 布局 有没有一种简单的方法可以实现这一目标 Note form inline没有做我正在寻找的事情 因为它没有将内部标签放在输入的顶部 到目前为
  • Java 中是否有与 StringWriter 等效但内部带有 StringBuilder 的东西?

    我注意到 StringWriter 在内部使用 StringBuffer 但是 如果您不需要同步开销 是否有与 StringWriter 等效的内部使用 StringBuilder 的方法 如果你恰好使用 Apache Commons IO
  • 允许 Rust 格式中未使用的命名参数!() 系列

    Given format red reset text red RED blue BLUE reset RESET 编译器退出并出现错误 error named argument never used gt example rs 1 47
  • 提取后视频帧是颠倒的

    我的问题是 当我使用 opencv 将视频提取到帧中时 有时我得到的帧会翻转 这在我的机器 窗口 和 VM ubuntu 上都发生过 但是我测试的一些视频 帧不翻转 所以 我想知道应该在我的代码中更改 添加哪些因素或哪些内容 以使提取内容无
  • WebSocket 握手:意外响应代码:404

    正在编写我的第一个 websocket 程序并且正在得到 WebSocket 握手 意外响应代码 404 加载网页时出错 我使用的是 JDK 1 7 和 jboss 8 wildfly8 0 有人可以帮忙吗 window onload in
  • 通过代码更改 Vaadin 7 中的主题

    我正在 Vaadin 7 中做一个项目 我需要更改页面的主题 在 Vaadin 6 中 有一个名为 setTheme 的函数 这样我就可以在代码中的任何位置使用该函数更改主题 但是 在 Vaadin 7 中 我找不到类似的东西 我知道会有办
  • SLES Apache Solr start.jar,无法访问 jarfile

    我在启动 Apache Solr 搜索时遇到一些问题 在我的 SLES 11 64 位服务器上安装 java 7 后 我将 solr 3 6 1 解压到 srv apache solr 3 6 0 之后我想启动该软件 但是当我尝试时 jav
  • 如何解决此错误消息:错误:virtualenvwrapper 无法在路径中找到 virtualenv?

    我正在尝试在 Mac 上安装 Python Goose 我运行的是 OSX 10 9 3 安装 Goose 的第一步是 mkvirtualenv no site packages goose 但是 当我运行此命令时 我收到以下错误消息 错误
  • Xcode在哪里打开快速搜索?

    我不知道如何让它索引我的项目文件 快速打开应该搜索任何open项目 曾经有一个路径首选项 但我相信它在 3 1 中被删除了
  • 交换数组中的奇数和偶数

    我在这个网站上看到了这段代码 它使用一种方法对数组进行排序 偶数在前面 奇数在数组后面 我想知道你是否可以做同样的事情 除了先出现奇数 然后出现偶数 我尝试过但没有成功 我是java编码新手 我想测试递归 public class Recu
  • 导致 ValueError: 'b' in __slots__ 与类变量冲突的数据类和槽

    我不明白错误消息 也找不到其他问题和答案来帮助我理解这一点 MWE 使用 Python 3 9 2 进行测试 我知道有一个slots TruePython 3 10 数据类中的参数 但这不是这里的选择 错误输出 Traceback most
  • 如何查看Vite项目中的公共目录进行热加载?

    我有一个使用 Vite 配置的 React 项目 热重载效果很好 但我使用react i18next对于多语言支持 这是我的结构 public gt en gt translation json gt ru gt translation j
  • 如何确定一系列循环数据中的高值和低值?

    我有一些代表周期性运动的数据 所以 它从高点到低点 然后又回来 如果你要绘制它 它就像一个正弦波 然而 每个周期的幅度略有不同 我想列出整个序列中的每个最大值和最小值 如果有 10 个完整的周期 我最终会得到 20 个数字 其中 10 个为
  • Worldwind - 形状总是显示在图像之上?

    我在 WorldWindowGLJPanel 的图层列表中添加了两个图层 其中之一是包含形状的 RenderableLayer 另一个是包含光栅图像的 BasicTiledImageLayer 一层包含一个对象 问题是 当我使用图层管理器
  • 抑制 C# 垃圾回收

    我的应用程序分配大量内存 数百万个小对象 总计几千兆字节 并保留很长时间 NET 是否浪费时间检查所有这些数据来对其进行 GC 第 2 代 GC 检查所有对象的 GC 多久发生一次 有什么办法可以降低它的发生频率或者暂时抑制它的发生吗 我确